Zum Inhalt springen

aLeXanDer..

Mitglieder
  • Gesamte Inhalte

    192
  • Benutzer seit

  • Letzter Besuch

Beiträge von aLeXanDer..

  1. Bin nach etlichen Stunden fündig geworden.

    Man braucht als erstes Mal die PRO version von diesem TeeChart und nicht die Standart Version.

    Sonst geht das gar nicht.

    Darauf muss man erstmal kommen...Dachte dauernd das ist mit dabei.

    Neuste Version ist auch von Notwendigkeit.

    Nachteil : Die eigentliche TChar-Komponente im Programm wird deinstalliert.

    Und ich habe festgetellt nach dem deinstalliern von dem Standard wurde die Original Komponente nicht wieder ersetzt,obwohl beim Installiern der Neuen Variante zuvor gefragt wurde , ob die alte Komponente sicherheitshalber kopiert werden soll. Nur nirgens ist dieser Ordner zu finden.

    Naja noch ein Nachteil : der Preis ;) der Vollversion Pro -> ca. 400-550€

    Wollte ich nur der Nachwelt hinterlassen, falls jemand mal dasselbe Problem hat.

    MFG

    Alex

  2. Nicht ganz.Habe ich auch als Notfallplan schon drangedacht.

    Wenn ich jetzt z.B statt der 3 Series in einem Chart 3 Charts erstelle

    habe ich 3 mal die BottomAchse mit.

    Die kann mann zwar "ausblenden"

    aber nicht so dass es nicht auffallen würde.

    Dann kommt noch das ich bis zu 6 Lines laden möchte

    und dann dazu 6 Charts zu erstellen usw. ist dann alles sehr viel arbeit.

    Besser wäre doch das in diesem einem Chart einfach die Daten der verschiedenen Series eingeladen werden und jede ihre eigene Achsenskalierung erhält.

    =|

    Alex

  3. Hallo ,

    Habe mal eine Frage zu der Komponente TChart.

    Probier schon einige Zeit damit rum, finde aber nicht das was ich möchte.

    Würde gern mehrere Werte und verschiedene einlesen , die unterschiedlichste werte haben.

    Jetzt , alle Linien werden eingefügt und eine Achse automatisch auf den optimalen Wert für alle angepasst.

    Ich würde gern für jede Linie eine eigene Achse haben.

    Ist dies möglich?!

    Wenn nicht , wäre es eine Alternative statt alle Liniendaten in einem TChart, jede in eines.

    Was mir jedoch Unübersichtlich erscheint.

    Danke

    Alex

  4. Bei deinem Vorstellungsgespräch hast du es ja auch geschafft auf dieses Thema hinzulenken.

    Und wenn dort gesagt wurde , das dies dann später verhandelt wird, wird man dich ja danach fragen wie es aussieht.

    In diesem Forum gibt es schon viele Threads die sich mit Gehalt beschäftigen.

    Und es sind auch einige Seiten angegeben auf denen man sich erkundigen kann was andere bekommen oder wo Durchschnittswerte angegeben sind.

    Klar, letztendlich musst du dich selbst "verkaufen" ;)

    Also für den Raum Nürnberg und einer großen Mitarbeiterzahl kann man schon etwas verlagen , aber da du nicht als reiner Programmierer , sondern als EDV-Mann eingestellt worden bist , kannst du nicht das Gehalt verlagen.

    Welche Aufgaben und Verantwortungen hast du denn zu bewältigen?!

    Würde vielleicht ein bisschen mehr angeben =)

  5. Für die Nachwelt =)

    Habe das mit dem of und ifstream wieder sein gelassen

    und stattdessen eine TStringBox erstellt.

    Das mit dem Streams wollte bei mir nicht gehen.

    TStringBox ist aber eine schöne Alternative und nicht sehr

    schwer.

    Das Problem mit dem speichern , dass der OpenDialog verursacht habe ich auch gelöst.

    Habe mir vor dem OpenDialog die aktuelle Adresse gespeichert mit

    GetCurrentDir();
    und vor dem Abspeichern, dass in dem OpenDialog geschieht wieder gesetzt mit
    SetCurrentDir();

    Mfg

    Alex

  6. Da ist schon mal ein Fehler bei dem ifstream Dateiladen,

    Dateiladen >> Label1->Caption.c_str()
    ist falsch. Habe jetzt
    Dateiladen.open ("Pfad.txt", ios::in)

    Das Problem das er mir die Datei nicht in das EXE Verzeichnis besteht immernoch.

    Und hier ist jetzt das Problem, obwohl ich die Datei in den richtigen Ordner reinkopiert habe wo er sie normal abfrägt, als Antowrt von meinem Programm bekommen , das keine Daten vorhanden sind.

    Also bin ich mir auch nicht sicher ob das mit dem ios::in richtig ist

  7. Jetzt hab ich gemerkt, dass ich immernoch ein Problem habe.

    Ich habe nur einen Dateinamen angegeben unter den die Datei abgespeichert werden soll

    
    if(OpenDialog1->Execute())
    
      {
    
      FileName = OpenDialog1->FileName;
    
      FileName = FileName.SubString(1, FileName.Pos(ExtractFileName(FileName))-2);  
    
    //Schneidet den Dateinamen vom Pfad weg
    
      Label1->Caption = FileName;        //Pfad wird im Label ausgegebn
    
    
      PfadName = [COLOR="#ff0000"]"Pfad.txt"[/COLOR];
    
      ofstream Datei (PfadName.c_str());
    
      Datei << Label1->Caption.c_str();
    
    
      ListBox1->Clear();                 // Alte Anzeige in der Listbox wird gelöscht
    
    
    Ich möchte aber das, dass Programm weiß, welche Daten sie beim letzten Ausführen, woher hat. Beim Programmstart frage ich daher ab. Wenn die Datei in die ich speichere existiert , soll er sie auslesen und diesen Pfad, der darin abgespeichert ist, nehmen. Wenn nicht, dann den Standardpfad -> C:\...
    
    if (FileExists("Pfad.txt"))
    
      {
    
      ifstream Dateiladen;
    
      Dateiladen.open ("Pfad.txt");
    
      Dateiladen >> Label1->Caption.c_str();
    
      }
    
      else
    
      Label1->Caption = "C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE";
    
    

    Nur das klappt nicht.

    Beim nächsten Aufrufen startet er aber wieder im Standardverzeichnis.

    Die Datei wird immer in dem Verzeichnis gespeichert, aus dem ich die Daten hole.

    Habt ihr eine Lösungsidee?

  8. Hallo,

    Habe wieder ein Problem das mich beschäftigt.

    Bin noch immer dabei mein Programm zu verfeinern.

    Habe jetzt eingebaut das, in einem Label der Dateipfad angegeben wird

    von wo die Dateien stammen , die in der Listbox angezeigt werden.

    Mit einem Klick auf das Label lasse ich einen OpenDialog sich öffnen.

    In diesem kann der Benutzer dann ein anderes Verzeichnis wählen.

    Habe das so gelöst , das er auf eine Datei klicken muss, dann lösche ich den DAteinamen weg, so das in Label nur das Verzeichnis angezeigt wird und lasse

    dieses dann mit einer Schleife nach einem bestimmten Dateityp durchsuchen und in der Listbox ausgeben.

    Nun ich möchte nun , den Pfad, der in das Label übertragen wird,

    in eine Dateispeichern, um beim nächsten Start zu sagen, das im Label die/der Adresse/Pfad angezeigt werden soll, die zuletzt abgespeichert worden ist.

    
    OpenDialog1->Title = "Verzeichnis auswählen";
    
    OpenDialog1->Filter = "CFG Dateien  (*.CFG) | *.cfg";     //Dateiauswahl beschränken
    
    
    OpenDialog1->InitialDir = "C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE"; 
    
    //Standartverzeichnis, soll durch Labeldatei ersetzt werden
    
    
    AnsiString FileName;
    
    
      if(OpenDialog1->Execute())
    
      {
    
      FileName = OpenDialog1->FileName;
    
      FileName = FileName.SubString(1, FileName.Pos(ExtractFileName(FileName))-1);  
    
    //Schneidet den Dateinamen vom Pfad weg
    
    
      Label1->Caption = FileName;        //Pfad wird im Label ausgegebn
    
      //Label1->Caption->SaveToFile (FileName + "Pfad.ini"); [COLOR="Cyan"]meine Ansätze[/COLOR]
    
      //SaveToFile(*FileName + "Pfad.ini");
    
      ListBox1->Clear();                 // Alte Anzeige in der Listbox wird gelöscht und neue darauf eingespeist
    
    

    Mfg

    Alex

  9. Danke Klotzkopp, der SubString war die Lösung,

    Und da es sich um einen AnsiString handelt benötigt man die 1.

    Hab es aber etwas anders gelöst.

    Hab keine Routine gefunden die nur den Dateinamen ausgibt,

    und wie du schon gesagt hast das mit dem wegschneiden in betracht gezogen.

    Aber anders rum.

    Ich lese die Dateibezeichnung aus und dann lösche ich diese und lasse den Rest davon ausgeben.

     str = str.SubString(1, str.Pos(ExtractFileExt(str))-1);  
    
     // Ausgabe der Dateibezeichnung unterbinden
    
              ListBox1->Items->Add(str) ;

    Mit Dokumentation meinst du die Hilfe?! ;)

    Da hab ich leider das Problem das ich hier in der Firma

    derzeit noch einen etwas älteren Pc bekommen habe, auf den

    jemand die Hilfen nicht komplett und nur in Englisch aufgespielt hat.

    Hab jetzt noch nicht nachgekuckt , aber gibt es die Borland Hilfe auch Online?! Also außerhalb und unabhängig vom Compiler?

    Danke das du mich auf den richtigen Weg gebracht hat.

  10. Die Idee hatte ich auch, nur ich hab gedacht mit Bit- und Schiebeoperationen.

    Mit deinem Vorschlag hab ich jetzt nur das Problem

    das Left und Len keine Member von AnsiString sind.

    Eine Konvertierung durch .c_str() ?

    Wie sieht die dann aus?!

     str = str.c_str(Left( str.c_str(Lenght() - 4 )));

    Ich weiß das ist nicht richtig :)

    Wie meinst du das mit bei ADD auch?!

    In der Zeile wo Add die Daten in die Liste einschreibt

    auch diese Zeile anfügen?!

  11. Hallo,

    Ich möchte gerne, dass die Dateien, die ich gesucht habe in einer Listbox ausgegeben werden.

    Das habe ich auch umgesetzt mit dem

    Code

    str = FData.cFileName;
    
    
    if     (str != "IDAPI.CFG" &&
    
            str != "IDAPI32.CFG")
    
    [COLOR="#ff0000"]ListBox1->Items->Add(FData.cFileName);[/COLOR]
    
    

    Nur ich möchte nicht das auch die Dateibezeichnung mit angezeigt wird, in diesem Fall sucht er alle .CFG Dateien, sondern ich möchte das er nur den Dateinamen in der Listbox anzeigt.

    Hab dazu Befehle gefunden , wie

    ChangeFileExt

    aber ich weiß

    1. nicht ob dieser stimmt

    2. wie ich ihn einsetze das er funktioniert

    Habt ihr eine Lösung wie man nur den Dateinamen in der Listbox ausgibt?!

    Mfg

    Alex

  12. genau

    Ich wollte das mit mit

    MoveFile( das was in der Listbox ausgeählt ist, umändern in neuen Dateinamen")

    machen.und ich komme nicht drauf ich das machen musst mit "das was in der listbox ausgwählt ist"

    Irgendwie mit ItemIndex aba ich brings net zum laufen, mir fehlt einfach jetzt das des klappt

    MoveFile(ListBox1->ItemIndex[] ListBox1->ItemIndex["IDAPI.CFG"]);

    kommt ein Expression Syntax fehler

    also denk ich mal nicht das das die lösung is?!

    achjah das KillDirectory hat net hingehauen

    habs unkonventionell so gelöst

    delete("C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE\\IDAPI.CFG");

    delete ("C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE\\IDAPI32.CFG");

  13. Folgendes,

    also ich habe folgendes vor , bzw. ich stecke jetzt fest.

    hab ganz simpel eine WindowsApplication mit einer Listbox.

    Nun lese ich aus einem Order Daten mit einer bestimmten Endung ein

    habe eingstellt , das er 2 bestimmte nicht mit ausgeben soll in der listbox

    nun möchte ich ,

    das wenn mann eine andere Datei in der Listbox anklickt

    die Datei dich ich nicht mit eingelesen habe gelöscht wird

    und die angeklickt datei deren namen erhält!

    Sourcecode

    void __fastcall TForm1::FormCreate(TObject *Sender)

    {

    WIN32_FIND_DATA FData;

    AnsiString str;

    HANDLE hSearch = FindFirstFile("C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE\\*.cfg",&FData);

    BOOL MoreFiles = FALSE;

    //int cnt_dir = 0, cnt_file = 0;

    if (hSearch == INVALID_HANDLE_VALUE)

    {

    ShowMessage("Keine Dateien vorhanden!");

    return;

    }

    do

    {

    if (FData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY)

    {

    str = FData.cFileName;

    if (str != "IDAPI.CFG" &&

    str != "IDAPI32.CFG")

    ListBox1->Items->Add(FData.cFileName);

    }

    MoreFiles = FindNextFile(hSearch,&FData);

    } while (MoreFiles);

    FindClose(hSearch);

    }

    //---------------------------------------------------------------------------

    void __fastcall TForm1::ListBox1Click(TObject *Sender)

    {

    KillDirectory

    ("C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE\\IDAPI.CFG"

    && "C:\\Programme\\Gemeinsame Dateien\\Borland Shared\\BDE\\IDAPI32.CFG");

    MoveFile( , "IDAPI.CFG");

    }

    //---------------------------------------------------------------------------

  14. gleich noch ne Frage

    man soll mit einer for schleife ASCII Zeichen darstellen bliblablubb ;)

    for (unsigned char cha=32 ; cha <128; cha +=1)

    {

    std::cout << static_cast<int>(cha) << " " << cha;

    }

    gut nun möchte ich die werte , die es dann ausgibt

    gerne in einer Tabelle haben ,

    mit viel glück kann man das mit std::setw(x) zusammenbringen

    wobei x für eine zahl steht die es dann genau hinbringt das die daten schön unter und nebeneinander stehen.

    gibt es auch noch andere möglichkeiten außer dieser probiermethode?!

    euer sorgenkind :D

  15. ja ich wollte ja nicht darauf raus das es falsch ist , sondern das man normalerweiße "Vierfünftel" erwartet ;)

    und wie gesagt da müsste man änderungen vornehmen , was ich aber etz gar net mag. muss weiter lernen ;)

    danke guy =)

    bis zum nächsten Problem :D

  16. bin ja recht neu hier und auch nicht so erfahren, aber es steht ja in jeder zeile was der fehler is und wenn du dann deinen code da hast siehste doch was dann net stimmt

    btw

    also ich bräuchte auch noch den code zum ankuckn für die fehler

    aber ich kenn mich ja da noch net aus

    vielleicht können des die Profis auch nur mit diesen daten die du bereits angegebn hast.

  17. Soweit bin ich nocht nicht, dass ich wüßte was ein Parser is und wie ich ihn einsetze. ich steck noch in den Kinderschuhen.

    Erwartet hab nur soviel das er funktioniert ;)

    aba das bei sowas wie 5/4 = 1 rauskommt is halt dann scho simpelst

    müsst ma noch dran rumspieln und ihn bissl tunen :D

  18. if (oper == '+')

    std::cout << operand1 + operand2;

    else

    if (oper == '-')

    else

    std::cout << operand1 - operand2;

    ....

    so gemeint?!

    hab gerade festgestellt das es ein relativ dummes programm ist :)

    das kann ja nix außergewöhnliches rechnen

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...