![]() |
Wieder Funktionen, ich lerne es nie ;(
Hallo, da ich wirklich Anfänger bin, fällt ir einiges schwer. Ich bitte um euer Verständnis.
Und ich finde die Hilfe hier sehr gut, Danke. Habe folgendes Problem: Ich will vier Seriennnummern eingeben ANS1 bis ANS4 und diese in eine Textdatei speichern. Wie kann ich den unten stehenden Code durch evtl. einer Funktion kürzen? Danke.
Delphi-Quellcode:
(Text_Datei);
//Seriennummer ANS1 eingeben
procedure TForm1.Edit2Exit(Sender: TObject); var Text_Datei: TextFile; s:String; begin AssignFile (Text_Datei, 'C:\Messwerte.txt'); Append(Text_Datei); s := Edit2.Text; Writeln(Text_Datei,s+' '+'ANS1'); CloseFile(Text_Datei); end; //Seriennummer ANS2 eingeben procedure TForm1.Edit3Exit(Sender: TObject); var Text_Datei: TextFile; s:String; begin AssignFile (Text_Datei, 'C:\Messwerte.txt'); Append(Text_Datei); s := Edit3.Text; Writeln(Text_Datei,s+' '+'ANS2'); CloseFile(Text_Datei); end; //Seriennummer ANS3 eingeben procedure TForm1.Edit4Exit(Sender: TObject); var Text_Datei: TextFile; s:String; begin AssignFile (Text_Datei, 'C:\Messwerte.txt'); Append(Text_Datei); s := Edit4.Text; Writeln(Text_Datei,s+' '+'ANS3'); CloseFile(Text_Datei); end; //Seriennummer ANS4 eingeben procedure TForm1.Edit5Exit(Sender: TObject); var Text_Datei: TextFile; s:String; begin AssignFile (Text_Datei, 'C:\Messwerte.txt'); Append(Text_Datei); s := Edit5.Text; Writeln(Text_Datei,s+' '+'ANS4'); CloseFile end; [edit=Luckie]Delphi-Tags gesetzt. Beim nächsten Mal bitte selber machen. Danke. Mfg, Luckie[/edit] |
Re: Wieder Funktionen, ich lerne es nie ;(
hallo teddyman,
z.b.
Delphi-Quellcode:
ich hoffe ich konnte dir helfen und du verstehst, was die prozedur macht!
procedure schreib_ans(sernr: string; ans: Byte); //sernr = die nummer; ans = sernr von 1 bis 4
var fp: textfile; //dient als filepointer begin assignFile(fp, 'C:\Messwerte.txt'); //gibt einen pointer auf die datei append(fp); //öffnet die datei zum anhängen writeln(fp, sernr + 'ANS' + IntToStr(ans)); //schreib die sernr + 'Ans' + 1 bis 4 closefile(fp); //schließt die datei wieder end; (ich hoffe ich hab mich nich verschrieben) tschüss, heiopei [edit=Luckie]Noch so ein Kanditat ohne Delphi-Tags und das nach über 100 Beiträgen. Mfg, Luckie[/edit] [edit=Luckie]Warum ist bei dir BBCode im Beitrag deaktiviert? :roll: Mfg, Luckie[/edit] |
Re: Wieder Funktionen, ich lerne es nie ;(
Danke Heipoei,
wie mache ich es denn so, dass die Seriennummern, die in Edit 1 bis Edit 4 stehen in die Messwerte.txt gespeichert werden? danke.
Delphi-Quellcode:
[edit=Luckie]Hallo? Ich würde dich bitte die Delphi-Tags [ delphi] ... [ /delphi] (ohne Leerzeichen) selber zu setzen! Mfg, Luckie[/edit]
procedure schreib_ans(sernr: string; ans: Byte); //sernr = die nummer; ans = sernr von 1 bis 4
var fp: textfile; //dient als filepointer begin assignFile(fp, 'C:\Messwerte.txt'); //gibt einen pointer auf die datei append(fp); //öffnet die datei zum anhängen writeln(fp, sernr + 'ANS' + IntToStr(ans)); //schreib die sernr + 'Ans' + 1 bis 4 closefile(fp); //schließt die datei wieder end; |
Re: Wieder Funktionen, ich lerne es nie ;(
hallo,
wenn du z.b. auf einen button drückst:
Delphi-Quellcode:
natürlich is das jetzt umständlich geschrieben, müsste aber gehen und ist relativ einfach zu verstehen.
procedure Tform1.button1click(sender:tobject);
var i: Byte; //dient als zählschleife begin for i := 1 to 4 do case if of: 1: schreibans(edit1.text, 1); 2: schreibans(edit1.text, 2); 3: schreibans(edit1.text, 3); 4: schreibans(edit1.text, 4); end; //ende für case of schleife end; tschüss, heiopei ps: geht das jetzt so mit den tags(hab das selber glaub ich auch noch net ausprobiert) [edit=Luckie]BBCode aktiviert. Mfg, Luckie[/edit] [edit=Luckie]Tags korrigiert. Mfg, Luckie[/edit] |
Re: Wieder Funktionen, ich lerne es nie ;(
Hinweis Ich habe mal aufgeräumt. Zum Thema unnütze Beiträge sind alle verschwunden. ;) @heiopei: Ich habe in Deinem Profil die BBCodes aktiviert. Das solltest Du auch so lassen :roll: ...:cat:... |
Re: Wieder Funktionen, ich lerne es nie ;(
Moin Teddyman,
als Ergänzung zu heiopeis Vorschlag mit der Eigenschaft Tag: Fast jedes Control hat diese Eigenschaft. Es handelt sich hierbei um einen 32 Bit Wert, der dem Entwickler zur freien Verfügung steht, und dem Control fest zugeordnet ist. Du könntest jetzt jedem Deiner Edit Felder hier den Wert zuweisen, der hinter den Text 'ANS' geschrieben werden soll, und kommst dann mit einer einzigen OnExit Routine für alle Edits aus:
Delphi-Quellcode:
//Seriennummer ANS1 eingeben
procedure TForm1.Edit2Exit(Sender: TObject); var Text_Datei: TextFile; s:String; begin AssignFile (Text_Datei, 'C:\Messwerte.txt'); Append(Text_Datei); // WICHTIG: // Damit dies ohne zusätzliche Sicherheitsabfrage funktioniert // darf die Routine ausschliesslich von Edit Feldern verwendet werden. s := (Sender as TEdit).Text; Writeln(Text_Datei,s+' '+'ANS'+IntToStr((Sender as TEdit).Tag)); CloseFile(Text_Datei); end; Im Objekt Inspektor kannst Du diese Routine dann jedem in Frage kommenden Edit Feld zuweisen, da anhand des Senders automatisch der richtige Inhalt (Text) und der richtige Wert (Tag) verwendet wird. [EDIT] Fehler korrigiert. Siehe Raiks Beitrag. [/EDIT] |
Re: Wieder Funktionen, ich lerne es nie ;(
moin chris,
Delphi-Quellcode:
kannst du mir das bitte mal erklären, ich dachte immer
Sender.Tag as TEdit).Tag
Delphi-Quellcode:
reicht
(sender as TEdit).tag
raik |
Re: Wieder Funktionen, ich lerne es nie ;(
Moin Raik,
danke für den Tip. War ein Schreibfehler :oops: Es musst natürlich nur
Delphi-Quellcode:
heissen.
(Sender as TEdit).Tag
Wird sofort korrigiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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