Ergebniss von Ausgabe als Text Datei Abspeicher
-
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ß bleibenbis 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;
-
mal ehrlich du bistn troll oder willst mich provozieren ???
ExePath = ExtractFilePath(Application->ExeName); // was wird hier wohl rauskommen ? ExePath += "EinDateiname.txt" // leider weis ich net ob das letzte backslash abgeschnitten wirdBITTE SCHAU DIR DIE BCB HILFE AN !!!
zu TStringList und zu Application->ExeName !!!! ich denk mal fast das du hier was falsches reininterpretierst nur weil du nicht in die Hilfe gesehen hast
by the way ... wenn du eine komplettlösung haben möchtest, dann sag es, ich mach dir dein speichern für 50€
-
Für 50 € das is aber sehr günstig aber ne ich will das ja selber lernen. Trotzdem thx für das Angebot ich hab auch noch ein Buch das hat 1142 das is von diesem Richard Kaiser ich werd da jetzt mal etwas drin lesen. Vielleicht hilft mir das ja mehr weiter.
trotzdem thx für eure behmühungen.
-
AnsiString workpath = ExtractFilePath(ParamStr(0)); //Arbeitspfad ermitteln TStringList *list = new TStringList(); //StringList erzeugen list->Add(Edit2->Text); //String aus Edit einfügen list->SaveToFile(workpath+"test.txt"); //Speichern in Pfad der exe delete list; //Speicher freigebenund von dem gesparten Geld kaufst Du Dir das Buch von Richard Kaiser!
Das dürfte hier ziemlich jeder haben.Gruß myerscola
-
ParamStr(0)
gerade den halt ich für kritisch ... unter gewissen umständen beinhaltet der string den pfad nicht .... oder verdreh ich da grad was ?
ch würd wenn schon dann bei VCL bleiben und mit Application->ExeName arbeiten