![]() |
String einem Integer zuordnen
Hallo,
habe einen Globalen Zähler, wo der letzte Stand (Zahl) über ein Edit gespeichert wird. Beim Programmstart wir diese Zahl im Edit wieder eingelesen. Jetzt habe ich hier natürlich einen "String", und möchte es dem Zähler "Integer" zuordnen. Geht das?:(
Delphi-Quellcode:
var
Form1: TForm1; Zaehler : Integer = Edit2.Text; |
AW: String einem Integer zuordnen
Mir scheint, Du solltest beim Urschleim anfangen:
![]() |
AW: String einem Integer zuordnen
Zitat:
Tja, und raus geht genau andersrum. :stupid: Aber an DIESER Stelle von deinem Codeausschnitt geht das Zuweisen so oder so niemals. (der Compiler sagt dir das warum) |
AW: String einem Integer zuordnen
Hier der restliche Urschleim :-)
Delphi-Quellcode:
Zaehler := Zaehler +1;
Edit2.Text := Format('%.7d',[Zaehler]);
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var SL: TStrings; begin SL := TStringList.Create; try SL.Add(Edit2.Text); SL.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Identifikator.dat'); finally SL.Free; end; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var SL: TStrings; begin SL := TStringList.Create; try SL.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Identifikator.dat'); if SL.Count>0 then Edit2.Text:=SL[0]; finally SL.Free; end; Hatte einen Fehler in meiner Beschreibung oben!
Delphi-Quellcode:
Zaehler : Integer = StrToInt(Edit2.Text); // was auch nicht funktoniert! :-)
|
AW: String einem Integer zuordnen
Läuft, habe den Fehler :-)
Danke für Eure Hilfe |
AW: String einem Integer zuordnen
Na, was war denn falsch? Der nächste, der dieses Problem hat, würde eventuell gerne die Lösung wissen.
Sherlock |
AW: String einem Integer zuordnen
Zitat:
A: DAS ist keine Konstante B: und zu dem Zeitpunkt existiert die Form-Instanz noch garnicht, also selbst wenn es compilieren würde, kann man da noch nichts auslesen. C: "globale Variable" ... alleine dafür gehört jeder gesteinigt :twisted: |
AW: String einem Integer zuordnen
Noch umständlicher geht's kaum noch.
Aber gut wenn Du meinst.... Alte Säcke würden das Problem u.U so angehen:
Delphi-Quellcode:
Nur so als Anregung, so etwas ähnliches wirst Du auch in der Hilfe finden.procedure SaveIntToFile(MeinWert:integer); const FILENAME='c:\Meine.Datei'; var f : file of integer; begin assignfile(f,FN); rewrite(f); write(f,MeinWert); closefile(f); end; function ReadIntFromFile:integer; const FILENAME='c:\Meine.Datei'; var f : file of integer; begin assignfile(f,FN); reset(f); Read(f,Result); closefile(f); end; Gruß K-H |
AW: String einem Integer zuordnen
Zitat:
Gruß K-H |
AW: String einem Integer zuordnen
Freunde, Tropfen einnehmen und Füße still halten.
Es handelt sich offenbar um einen Delphi-Einsteiger. Also... ...Mann, bitte!? |
AW: String einem Integer zuordnen
Ich habe bis heute nicht verstanden, warum man für globale Variablen gesteinigt wird.
Was ist technisch gesehen so schlimm daran? |
AW: String einem Integer zuordnen
Es ist schon sinnvoll, Variablen möglichst nur dort zur Verfügung zu stellen, wo sie gebraucht werden - sie also möglichst zu kapseln.
Das ist eine Frage der Übersichtlichkeit. Stell Dir eine globale Variable I: Integer vor. In irgendeiner Methode verwendest for I := ... und vergisst, eine Variable I anzulegen. Schon benutzt Du die globale Variable, die ja eigentlich für etwas ganz anderes gedacht ist. Globale Variablen bergen Risiken und umgehen ggf. ein vernünftiges Klassendesign. Für bestimmte Zwecke kann man sie einsetzen, sollte es aber nach Möglichkeit eher vermeiden. Jedenfalls, wenn man komplexere Anwendungen erstellt, die ggf. noch erweitert werden müssen. Dann können sie schnell zu Fehlern führen. |
AW: String einem Integer zuordnen
Ich mache das aktuell so, dass ich eine Unit habe mit mehreren namentlich natürlich verschiedenen Records die gewisse Variablen beinhalte.
Auf diese Art und Weise habe ich die Variablen mehr oder weniger fast global und miss-verwenden kann ich sie nicht. |
AW: String einem Integer zuordnen
Moin Zusammen,
um Probleme bei eventuellen globalen Variablen zum minimieren, fasse ich diese in einer Unit zusammen, und versehe sie mit dem Prefix G. Damit ist dann, bei jeder Verwendung klar, dass es sich um eine globale Variable handelt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 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