Edit1->Text speichern , laden ...
-
Hallo !
Ich habe "SUCHEN" schon benutzt und 146 Beträge gelesen !!!! NICHTS geholfen.
Meine Frage ist : Wie kann ich den WERT von einem TEdit (Edit1->Text) in einer Datei speichern und jedes mal wenn das Programm gestartet wird, wird diese gespeicherte Wert wieder ins Edit-Feld eingetragen.
(anders gesagt: Auf Edit1 steht : " 16 % Mehrwertsteuer " , jetzt ändere ich auf : " 7 % Mehrwertsteuer " und möchte,daß diese Wert (7%) beim nächsten mal immer noch so bleibt und nicht zurück auf ursprüngliche Wert gestellt wird.)Vielen Dank !
-
Da müsstest du im OnClose die Daten auslesen und in die 'Datei schreiben.
Und in OnCreate die Werte einlesen und ins Edit schreiben.
-
Hallo !
@ quizzmaster
Danke für schnelle Antwort.
Ich komme leider auch nicht weiter.
Das mit den Ereignissen : OnClose und OnCreate ist mir schon klar, aber ich habe NOCH NIE so was gemacht (Edit1->Text in eine Datei speichern b.z.w. aus eine Datei laden).
Könntest du (oder jemand) bitte genauer beschreiben ? Ein paar Quelltextzeile wäre hilfreich.Vielen Dank !!!
-
In eine Datei speichern:
TStringList* List = new TStringList; List->Add(Edit1->Text); List->SaveToFile("Text.txt"); delete List;
Aber vielleicht solltest du dir eher mal TIniFile anschauen. Du kannst auch Werte in die Registry eintragen.
-
Das geht auch einfachen:
OnClose:AnsiString edit1 = Edit1->Text; pfile=fopen(...); fwrite(pfile, edit1);
OnCreate:
pfile=fopen(...); AnsiString edit1; fread(pfile, edit1); Edit1->Text = edit1;
-
Hallo !
@WebFritzi :
Mit der Version von dir läuft das SPEICHERN super.
Aber wie lädt man die gespeicherte Datei (Text.txt) in Edit1 ???@quizzmaster :
Bei deiner Version sehe ich nicht ganz durch (Sorry !Anfänger eben !!!)
Bin dankbar für genauere Erklärung!Vielen Dank!!!
-
Original erstellt von quizzmaster:
**Das geht auch einfachen:
OnClose:AnsiString edit1 = Edit1->Text; pfile=fopen(...); fwrite(pfile, edit1);
**
Hahahahahaha
*Autsch*
-
@<Frager>: Lass das mit den text-Dateien. Schau dir wie gesagt mal TIniFile oder TRegistry an. Da werden Sie geholfen.
-
Original erstellt von quizzmaster:
Das geht auch einfachenDas ist aber nur dann einfacher, wenn man, wie du, die Hälfte der Funktionsparameter unterschlägt
und auf jedwede Fehlerbehandlung verzichtet.
Diese Fehlerbehandlung (ob sich Datei öffnen/schreiben lässt etc.) ist bei TStringList grundsätzlich integriert, allein deswegen lohnt sich der Einsatz.
Wobei ab dem dritten zu sichernden Edit-Feld, wie von WebFritzi erwähnt, TIniFile die beste Wahl sein dürfte.
-
Hallo !
Lass das mit den text-Dateien. Schau dir wie gesagt mal TIniFile oder TRegistry an. Da werden Sie geholfen.
Mit TIniFile und TRegistry ist ne komplizierte Sache (jedenfall für Anfänger wie mich). Die HILFE von Builder ist nicht gerade einfach und hilfreich.
Ich bin mit eure Hilfe hier im Board viel weiter gekommen, am Ziel bin ich aber trotzdem noch nicht. Mir ist immer noch nicht klar, wie die gespeicherte Werte geladen werden können ?
(ich bevorzuge die TEXT.txt version von WebFritzi).@ WebFritzi : wenn schon denn schon, du hast mir gezeigt, wie mann als text speichert, erkläre mir bitte , wie das geladen werden kann ?
Vielen Dank !
-
Original erstellt von <Frager>:
@ WebFritzi : wenn schon denn schon, du hast mir gezeigt, wie mann als text speichert, erkläre mir bitte , wie das geladen werden kann ?Also, wenn du mir jetzt so daher kommst, dann erst recht nicht! Bei solchen Unverschämtheiten blocke ich ab.
BTW: Das Board hier ist für alles da, was man nicht selber hinbekommen kann. In der Borland-Hilfe ist alles super erklärt, und wenn du damit nichts anfangen kannst, dann lies dir erstmal ein Tutorial zu C++ durch!
-
Original erstellt von WebFritzi:
**
In der Borland-Hilfe ist alles super erklärt, und ...**Da muss ich WebFritzi recht geben.
Ich hab TIniFile durch dieses Forum erst kennengelernt (bei einer Suche nach genau sowas) und hab mir dann die Hilfe halt ein zwei mal durchgelesen und das Beispiel was dabei steht genau angesehn. Und es ist wirklich total einfach. Da ist nix kompliziertes dabei! Soagr als Anfänger wie du dich nennst, dürfte das mit ein bischen Lesen und probieren kein Problem mehr darstellen!
-
Zu TIniFile schau dir das an: http://www.c-plusplus.net/subs_guests/bcb-tutorial/
Da steht auch was zur Registry.
-
Hallo !
Ich bin nicht so nen Typ, der nur Fastfood nehme aber als Anfänger hat man schon oft Probleme. Und wenn man den ganzen Tag hier gelesen hat, trotzdem nicht weiter kommt, dann eure Hilfe sind die richtigere.
Ihr habt schon viele Erfahrung und Kenntnis über den Builder (jeden fall die meisten von euch), deshalb ist das einfach für euch, Builder Hilfe zu verstehen. Für mich ist das schon schwer, die Beschreibungen zu verstehen, besonders wenn keine Beispiele dabei sind (wie im diesem Fall : TIniFles).Das Board hier ist für alles da, was man nicht selber hinbekommen kann.
Und : Ich bekomme jetzt nicht selber hin.
Wer kann mir weiter helfen (ich meine HELFEN und nicht belehren !!!)PS: Nach paar Jahre würde ich auch sagen : Alles ist doch leicht und super einfach beschrieben. Wenn man ein bischen liest und probiert, dann wird man es schon hinbekommen .............................................................
(Ich lerne Builder (C++ überhaupt)erst seit 2 Monaten. Mein Lehrer ist F1 und dieses Board. Das ist die Antwort, warum ich immer noch nicht weiterkomme.)
-
Was passt dir denn an dem Beispiel zu TIniFile in der Hilfe nicht ("Using TIinFile" bzw. "TIniFile verwenden")?
-
Mein Lehrer ist F1 und dieses Board. Das ist die Antwort, warum ich immer noch nicht weiterkomme.)
kann nicht stimmen! Mit F1 kannste in der Hilfe suchen und die Methoden von TStringList ansehen.
WebFritzi hat Dir LOADFROMFILE' gezeigt, das Gegenstueck kannste dort sicher selber finden!!!
PS: Rate mal wie das benannt sein koennte?(HolrausausDatei...?)
-
hallo,
also frager, im OnClose Ereignis hast du
TStringList* List = new TStringList; List->Add(Edit1->Text); List->SaveToFile("Text.txt"); delete List;
verwendet. damit wird dein string in eine datei geschrieben, anhand der methode savetofile von tstringlist. jetzt möchtest du beim starten der anwendung den inhalt der datei wieder in das edit-feld laden, wie schon erwähnt nimmt man da das ereignis OnCreate oder OnShow. ich bevorzuge für dies OnShow:
TStringList* TheStrList = new TStringList(); TheStrList->LoadFromFile("Text.txt"); //gegen-methode von savetofile. Edit1->Text = TheStrList->CommaText; //eine von mehreren möglichkeiten. delete TheStrList;
auch wenn die anderen jetzt wahrscheinlich kotzen, da ich ihre pädagogischen bemühungen zunichte gemacht habe, wollte ich dir einen anstoß geben.
aber dennoch sei vermerkt, das diese lösung nicht sehr professionell ist, wenn auch für den einen wert schnell umgesetzt ist.mfg
murph
-
Original erstellt von <murph>:
wollte ich dir einen anstoß geben.Du musst ihn für ziemlich dumm einschätzen. Die Methode LoadFromFile() in der Hilfe kann doch nun wirklich jeder Dummkopf in der Hilfe finden.
-
Wenn dus mit IniFiles machen willst:
erstmal ganz oben:
#include <IniFiles.hpp>
OnCreate:
TIniFile* ini = new TIniFile("[dateiname]"); Edit1->Text = ini->ReadString("Form","Edit",""); delete ini;
OnClose:
TIniFile* ini = new TIniFile("[dateiname]"); ini->WriteString("Form","Edit",Edit1->Text); delete ini;
-
Hallo !
Vielen Dank für eure Hilfe !
Zitat von WebFritzi :
Du musst ihn für ziemlich dumm einschätzen. Die Methode LoadFromFile() in der Hilfe kann doch nun wirklich jeder Dummkopf in der Hilfe finden.
Nun bin ich vielleich noch dümmer als ein Dummkopf !? Ich weiß es nicht .
Ist auch egal.Ich danke denen, die mir geholfen haben!
Belehrung bekomme ich auch schon so genug von meiner Eltern !Vielen Dank !