![]() |
speichern von texten
ich brauch die dringendste hilfe überhaupt...
mein informatiklehrer hat wohl was gegen frauen und ich muss jetzt über das speichern in delphi referieren... ich kann mich leider nioch merh genau daran erinnern... und überall wo ich ins forum schaue wird das mit memo gemacht oder so.. geht das auch ohne? angeblich soll das ja so funktionieren: TForm1.Button1click var f: file of char; c: char; s: string; i,l: integer; begin if savedialog1.execute then begin assignfile(f,savedialog1.Filename); rewrite(f); s:=edit1.text; l:=length(s); for i:=1 to l do begin c:=s[i]; write(f,c); end; closefile(f); end; end. könnte mir das mal einer erklären??? |
Re: speichern von texten
Hallo Maria, Willkommen in der DP :dp:,
abgesehen davon, dass es umständlicher kaum noch geht, was verstehst Du denn nicht an dem Quelltext? |
Re: speichern von texten
Delphi-Quellcode:
Wilkommen in der DP :dp:
procedure SaveString(s, fileName: string);
var fs: TFileStream; begin fs := TFileStream.Create(filename, fmCreate); fs.Write(s[1], Length(s)); fs.Free; end; mfg smallsmoker €: oh da war jemand schneller :) |
Re: speichern von texten
@ deddyh
das problem is der ganze kram ab rewrite... das zu verstehen is ja das eien aber das auch noch zu erklären was ganz anderes... der text is übrigens nich von mir... deshalb frage ich ja... |
Re: speichern von texten
Ggf mit ner INI File
|
Re: speichern von texten
Hallo und Willkommen in der DP :dp: :dp:
Das ist viel zu kompliziert und umständlich wie du das gelöst hast, suche hier einfach mal nach ![]() |
Re: speichern von texten
INI file? klingt furchtbar...
sollte auf jeden fall so einfach wie möglich sein... es geht ja nur um das stumpfe speichern usw... wenn ich viele sachen verwende die wir im unterricht noch nich hatten is das nich so passend |
Re: speichern von texten
Normalerweise würde ich jetzt auf die Delphi-Hilfe verweisen, aber ausnahmsweise kommentiere ich Dir das mal:
Delphi-Quellcode:
var f: file of char;
c: char; s: string; i,l: integer; begin //Wenn der Speicherdialog bestätigt wurde if savedialog1.execute then begin //weise der Dateivariablen f den Dateinamen des Dialogs zu assignfile(f,savedialog1.Filename); //erstelle/überschreibe die Datei rewrite(f); //weise s den Inhalt des Edits zu s:=edit1.text; //ermittle dessen Länge und lege sie in l ab l:=length(s); //durchlaufe in einer Schleife von 1 bis l for i:=1 to l do begin //weise c das Zeichen aus s an Position l zu c:=s[i]; //schreibe c in die Datei write(f,c); end; //schließe die Datei closefile(f); end; end. |
Re: speichern von texten
wow das klingt gut... und das funktioniert dann so ohne meckern?
|
Re: speichern von texten
Probier' s doch mal aus ;). Aber wie gesagt, das ist eine sehr umständliche Lösung und sie prüft auch keine Fehler ab.
|
Re: speichern von texten
Ja oder so:
Delphi-Quellcode:
ps: aus dem steh greif geschrieben....
procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile; //Variable deklarieren begin if SaveDialog1.execute then //Opendialog öffnen und auf eingabe warten begin; AssignFile(F, SaveDialog1.Filename); //Zu speichernde Datei öffnen Rewrite(F); //Carret setzen WriteLn(F, Edit1.Text); //Den Text aus der EditBox in die Datei schreiben CloseFile(F); //Datei schließen end; end; Edit: Savedialog, nicht Opendialog^^ |
Re: speichern von texten
Per Stringlist ginge auch, aber wir wollen das Mädel ja jetzt nicht noch mehr verwirren :zwinker:
|
Re: speichern von texten
verwirren? o.O
jaja... geht. ausprobieren werd ich das noch... die extrem kurze lösung gefällt mir ja auch ziemlich... was genau heißt aber writeLn??? das verwirrt mich dann schon wieder dermaßen... aber bishier her schon mal riesigen dank... das beeindruckt vllt sogar meinen lehrer... :/ |
Re: speichern von texten
writeln macht dasselbe wie write, hängt aber noch einen Zeilenumbruch hintendran.
|
Re: speichern von texten
aha aber wenn ich write schreibe tut sich da auch keiner dran weh?
kurze frage noch: geht laden so ähnlich? bitte ja... |
Re: speichern von texten
um das mal bildlich darzustellen:
Delphi-Quellcode:
währe das:
WriteLn(F, 'Hello');
WriteLn(F, 'World'); Zitat:
und mit wirte so:
Delphi-Quellcode:
dabei würde das hier rauskommen:
Write(F, 'Hello ');
Write(F, 'World'); Zitat:
|
Re: speichern von texten
Zitat:
Delphi-Quellcode:
ps: auch ungetestet!!
procedure TForm1.Button2Click(Sender: TObject);
var F1: TextFile; FirstLine: Char; begin if OpenDialog1.Execute then begin AssignFile(F1, OpenDialog1.Filename); Reset(F1); Edit1.Text := ''; while not Eof(F1) do begin ReadLn(F1, FirstLine); Edit1.Text := Edit1.Text + FirstLine; end; end; CloseFile(F1); end; end; |
Re: speichern von texten
So schwer ist das gar nicht!
Speichern:
Delphi-Quellcode:
Laden:
// Button1.Click als Event bsp
// INI erstellen im Anwendungsverzeichnis mit dem Namen 'Speichern' with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Speichern.ini') do try WriteString('Edit1', 'Inhalt', Edit1.Text); // Text wird gespeichert finally free end;
Delphi-Quellcode:
Hallo Welt ist ein Alternativtext sprich wenn keine IniFile vorhanden ist, wird der Text geladen
// Form1.OnCreate als Event bsp
// INI erstellen im Anwendungsverzeichnis mit dem Namen 'Speichern' with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Speichern.ini') do try Edit1.Text := ReadString('Edit1', 'Inhalt', 'Hallo Welt'); // Text wird geladen finally free end; |
Re: speichern von texten
Ich frage mich, was TIniFile mit dem einfachen Speichern einer Textzeile ohne Zuweisungsabsicht zu tun hat.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz