Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit constanten (https://www.delphipraxis.net/136920-probleme-mit-constanten.html)

gangs-taas 10. Jul 2009 09:53


Probleme mit constanten
 
hey,
ich hab mal eine frage.
also ich rufe eine Funktion auf die eigendlich eine constante benötigt aber ich möchte sie anders aufrufen und zeige euch am code was ich nicht versteh

Delphi-Quellcode:
const W28='C:\Users\...\Desktop\Kalender\28.txt'

procedure TForm1.FormCreate(Sender: TObject);
Var
KWoche : integer;
Textdatei : String;
begin
Kwoche := 28;
Textdatei := 'W'+IntToStr(KWoche);
InDieMemoFelderSchreiben(Textdatei);

procedure InDieMemoFelderSchreiben(var Textdatei: String);
begin

 if FileExists(Textdatei) then Begin
  ...
 end;
ich vertehe einfach nicht wieso das nicht funktioniert...
weil 'Textdatei' ist doch auch 'W28' aber wieso erkennt er das dann nicht als die constante da oben ... ?


ich meine ob ich jetzt Prüfe ob die constante W28 da ist oder ich überprüfe ob eine datei mit dem namen W28 da ist die oben als constante genannt wird...


wisst ihr wo mein problem ist ? ^^

DSCHUCH 10. Jul 2009 09:58

Re: Probleme mit constanten
 
du versuchst hier sowas wie ein macro zu erstellen und das geht in delphi nicht.

wenn ich dich richtig verstehe denkst du das deine variable "textdatei" automatisch den inhalt deiner constanten "w28" enthält nur weil du ihr "w28" zuweist (als string) was natürlich quark ist.

mach doch einfach deine konstante:

const path='C:\Users\...\Desktop\Kalender\'

und dann unten:

Kwoche := 28;
Textdatei := path+IntToStr(KWoche)+'.txt';


oder mit format.


daniel

TBx 10. Jul 2009 09:59

Re: Probleme mit constanten
 
Ich sags nochmal, lies Dir mal die Grundlagen an :wall:

Du übergibst einen String und erwartest, dass der automatisch durch eine Konstante des im String stehenden Namens ausgetauscht wird.
Das funktioniert nicht.
Was hast Du eigentlich vor, dass Du auf diesen seltsamen Weg kommst?

jfheins 10. Jul 2009 10:00

Re: Probleme mit constanten
 
Delphi-Quellcode:
const path='C:\Users\...\Desktop\Kalender\'
const ext = '.txt'

procedure TForm1.FormCreate(Sender: TObject);
Var
KWoche : integer;
Textdatei : String;
begin
Kwoche := 28;
Textdatei := path + IntToStr(KWoche) + ext;
InDieMemoFelderSchreiben(Textdatei);

procedure InDieMemoFelderSchreiben(var Textdatei: String);
begin

 if FileExists(Textdatei) then Begin
  ...
 end;
So - und jetzt wegen dem Verstehen: Du hast einen String zusammengebaut, der den Text "W28" enthält. Du wolltest wahrscheinlich damit auf die Konstantezugreifen. Das geht so aber nicht, weil die Konstante bereits zur Compilezeit (also wenn du auf den "Play"-Button drückst) eingefügt wird - wenn das Programm lüuft weis das Programm gar nicht mehr, was für enien Namen die Konstante mal hatte - es wurde ja bereits überall der Name durch den Wert ersetzt ;)

gangs-taas 10. Jul 2009 10:04

Re: Probleme mit constanten
 
danke ^^

ich bin grad dabei die grundlagen durchzulesen !! XD


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz