Ergebniss von Ausgabe als Text Datei Abspeicher



  • Hallo ich hab ein Program mit Grafischer Oberfläche gemacht welches Grad Celsius in Grad Fahrenheit umrechnen kann.

    Jetzt möchte ich gerne das Ergebniss vom Fahrenheit Wert in einer Text Datei Speichern hat der wer eine Ahnung wie das geht?

    Hier ist mal ein Bild von dem Programm:

    http://imajr.com/Original.aspx?Id=c_bild_374920

    Und hier der Source Code:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    Close();        
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Form1->Edit1->Text="";
    Form1->Edit2->Text="";
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    int User,fahr;
    
    User=StrToFloat(Form1->Edit1->Text);
    
    fahr=User*9/5+32;
    
    Form1->Edit2->Text=FloatToStr(fahr);
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    
    }
    //---------------------------------------------------------------------------
    


  • Hallo,

    Siehe FAQ bei den Top3 der 3. Beitrag



  • TStringList *list = new TStringList(); 
    list->Add(MeinString); 
    list->SaveToFile("c:\\test.txt"); 
    delete list;
    

    Was bedeutet den dieses:

    TStringList *list = new TStringList();

    und was wäre da in meinem Source Code MeinString 0_o 😕



  • list->Add(Edit2->Text);
    

    Gruß myerscola



  • Jhuuhhu es geht thx 🙂 🙂



  • P.S:
    Du hättest meine Formel ruhig nehmen können,denn
    9/5 =1,8 ! 🙂

    Gruß myerscola



  • Bassmaster schrieb:

    Was bedeutet den dieses:

    TStringList *list = new TStringList();

    und was wäre da in meinem Source Code MeinString 0_o 😕

    Wenn Du derart simplen Code nicht verstehst und auf Deine Bedürfnisse anpassen kannst, fehlen Dir wichtige C++-Grundkenntnisse. Diese braucht man aber unbedingt, um mit dem BCB arbeiten zu können. Ich würde empfehlen, dass Du die GUI-Programmierung zurückstellst und Dir die erst mal die nötigen Grundkenntnisse aneignest. Ich weiß, das ist langweilig und zeitaufwendig, aber unumgänglich.

    Das ist nur ein gut gemeinter Rat...



  • lol ich hab noch nie was mit der GUI vorher gemacht und ausserdem fangen wir damit auch iner schule an unser Lehrer hat uns vielleicht 6 Konsolen Programme gezeigt und kurz erklärt er meinte er will uns so schnell wie möglich von der Konsolen ebene weg holen und der Unterrichtet das schon seit 15 Jahren oder so er wird wohl wissen was er macht nehm ich mal an ^^. Aber das nur so neben bei.

    Ich hab noch eine frage.

    Und zwar wie kann ich es machen das dass Programm die Text Datei immer in dem Ordner abspeichert wo auch die exe Datei ist. Hat da wer eine Ahnung?



  • Hallo

    unser Lehrer hat uns vielleicht 6 Konsolen Programme gezeigt und kurz erklärt er meinte er will uns so schnell wie möglich von der Konsolen ebene weg holen und der Unterrichtet das schon seit 15 Jahren oder so er wird wohl wissen was er macht nehm ich mal an ^^. Aber das nur so neben bei.

    Anhand deiner Fragen hier im Forum wird klar das dein Lehrer eben nicht weiß was er macht. Denn sonst müßtest du entweder wegen solcher Grundlagen gar nicht fragen oder du würdest deinen Lehrer fragen.
    Das ist keine Kritik an dir, sondern an deinem Lehrer.

    Und zwar wie kann ich es machen das dass Programm die Text Datei immer in dem Ordner abspeichert wo auch die exe Datei ist. Hat da wer eine Ahnung?

    AnsiString ExePath = ExtractFilePath(Application->ExeName);
    

    bis bald
    akari



  • Ok thx

    Aber wo gibt es Tutorials für diese Grundlagen ich finde immer nur Konsolen Tutorials und die hab ich schno fast alle durchgearbeitet.



  • Hallo

    Es gibt hier im Forum ein Tutorial (zu finden über die Hauptseite) die auf diverse Aspekte der VCL eingeht. Ein umfassendes Tutorial zu GUIs wirst du nicht finden, denn das Thema ist viel zu umfangreich. Eventuell ist ein Buch da besser, dazu gibts schon mehrere Threads zu, zu finden über di Suchfunktion.

    Aber wenn ich sowas lese

    Was bedeutet den dieses:

    TStringList *list = new TStringList();

    und was wäre da in meinem Source Code MeinString

    dann bezweifle ich das du wirklich alle Grundlagen-Tutorials gelesen und verstanden hast. Denn das Prinzip der Speicherverwaltung wird zum Beispiel hier erklärt.

    Und ich habe auch schon geschrieben das mithilfe der BCB-Hilfe und C++ Kenntnissen der Einstieg in den Builder ohne weitere Tutorials machbar ist.

    bis bald
    akari



  • In diesem Verzeichnis habe ich die Exe Datei und die heisst Project2.exe
    wie muss ich das dann da in den Source Code eintragen 😕

    E:\borland builder 6\Bin\fahrenheit in celsius umrechnen als windows anwendung\test

    Ich habs jetzt mal so versucht aber da kommt die Fehlermeldung:
    [C++ Fehler] Unit1.cpp(45): E2379 In Anweisung fehlt ;

    Ich weiss nicht was da falsch ist 😞

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    Close();        
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Form1->Edit1->Text="";
    Form1->Edit2->Text="";
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    int User,fahr;
    
    User=StrToFloat(Form1->Edit1->Text);
    
    fahr=User*9/5+32;
    
    Form1->Edit2->Text=FloatToStr(fahr);
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    Edit2->Text ExePath = ExtractFilePath(Application->Project2.exe);
    }
    //---------------------------------------------------------------------------
    


  • Hallo

    Und du willst und weissmachen das du die Grundlagen beherrscht?

    Edit2->Text = ExtractFilePath(Application->ExeName); // ExeName muß bleiben
    

    bis bald
    akari



  • Bassmaster schrieb:

    Ich weiss nicht was da falsch ist 😞

    Edit2->Text ExePath = ExtractFilePath(Application->Project2.exe);
    

    Dann erklär mir doch bitte mal, wie Du an diese Zeile gekommen bist und was sie bewirken soll.



  • k thx akari



  • akari hat doch schon geschrieben was du da angeben mußt. Wenn du seinen Code 1:1 koipiert hättest wäre da kein Problem.



  • Funktioniert nicht mit dem Speichern in den Ausgabe Edit Balken da schreibt der mir nur rein in welchem Verzeichnis die Exe liegt aber der Speichert da nichts ab

    😞



  • Hallo

    Der Computer macht das was du schreibst und nicht das was du meinst.
    Und du sagst ihm : "Schreib den Pfad des Programms in ein Edit". Nicht mehr und nicht weniger. Wenn du irgendwas in den Pfad speichern willst must du das dem Computer auch so sagen. Sprich : Wenn du irgendwo den Dateinamen fürs Speichern angibst must du eben den Wert den du jetzt in das Edit schreibst vor den Dateinamen hängen.

    bis bald
    akari



  • TStringList *list = new TStringList();
    list->Add(DEIN TEXT ODER DER INHALT DEINES FENSTER); // das wie sollte keine frage mehr sein
    list->SaveToFile(DER EXEPATH); // auch hier sollte das wie keine frage sein
    delete list;
    

    also wenn das nicht hilft weis ich auch nicht

    by the way .... BCB hilfe nutzen iss ganz einfach .... anklicken ( in dem falle dein Memo), dann strg F1, dann unter elemente nachschauen WO dein text steht, die hilfe DAZU anschauen und dann findest auch die Methode TStrings::SaveToFile()

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    int User,fahr;

    User=StrToFloat(Form1->Edit1->Text);

    fahr=User*9/5+32;

    Form1->Edit2->Text=FloatToStr(fahr);

    }

    also mal ehrlich .... StrToFloat auf einen INT .... mach doch float User wenn du schon StrToFloat benutzt, was ne verschwendung .... ausserdem find ich ist der Zugriff auf das Edit über Form1->Edit1 überflüssig, du befindest dich bereits in Form1 ... das aber nur n hinweis



  • Ceos du hast es leider nicht verstanden.

    ALSO:

    Ich will das wenn man den Button Ergebnis Speichern anklickt das dann das Ergbenis aus der Edit2 Box sich genau in dem Ordner abspeichert wo auch die Exe Datei liegt. Angenommen ich schicke dir die Datei. Und die Speicherst die Datei auf Laufwerk E: und wenn du dann das Programm startest Speichert der dir das Ergebniss auf Laufwerk C: aber aber nicht auf 😨 so wie es eigentlich sein sollte.

    TStringList *list = new TStringList(); 
    list->Add(Edit2->Text);
    list->SaveToFile("c:\\test.txt"); 
    delete list;
    

Anmelden zum Antworten