![]() |
Funktionen und Zeiger
Hi,
ich habe mir ne suchfunktion geschrieben die als parameter nen boolean wert bekommt, und andauernd prüft ob dieser Wert auf False gesetzt ist - um die suche zu beenden. leider klappt das nicht weil er ja irgendwie nur den wert des booleans und nicht dessen speicheraddresse zurückgibt.. jetzt hab ich mir überlegt der funktion einen zeiger zu übergeben, was allerdings auch nicht klappt.. kann ich die funtkion so schreiben, das sie einen zeiger erwartet? mfg tobias |
Re: Funktionen und Zeiger
Hallo Tobias,
Zitat:
Delphi-Quellcode:
Du brauchst Call-By-Reference:
function DoSomething(SomeVar: SomeType): SomeType;
Delphi-Quellcode:
Allerdings versteh ich nicht ganz genau was du machen willst. Zeig evtl. mal ein bisschen Source ;)
function DoSomething(var SomeVar: SomeType): SomeType;
Greetz alcaeus |
Re: Funktionen und Zeiger
Delphi-Quellcode:
danke für deine hilfe erstmal.. hab beides versucht, klappt nicht.. ich möchte das die schleife alle verzeichnisse durchsucht, wenn der benutzer zwischendurch auf abbrechen drückt soll die such e(schleife) beendet werden).
FindFilesAndPathes1(
const Path, Mask : TStrings; const Attributes : integer; const IncludeSubDir : boolean; var FoundFilenames : TStrings; StopSearch : boolean=false;//Möglichkeit des Abbruchs //Sollte globale Variable sein //Abbruch Variable StopIt : boolean=false): integer; for i:=0 to Path.count-1 do begin if StopSearch then Application.ProcessMessages; if StopIt then break; //Suche vom Benutzer abgebrochen Path[i] := IncludeTrailingPathDelimiter(Path[i]); ... ... ... Dann soll ich sagen können: StopIt := False - und da ich die globale var stopit ja geändert habe sollte die suche beendet werden..das klappt leider nicht, deshalb möchte ich versuchen, das die die funktion einen zeiger erwartet.. mfg tob |
Re: Funktionen und Zeiger
Delphi-Quellcode:
wenn StopIt eine Globale Variable ist
FindFilesAndPathes1(
const Path, Mask : TStrings; const Attributes : integer; const IncludeSubDir : boolean; var FoundFilenames : TStrings; StopSearch : boolean=false;//Möglichkeit des Abbruchs ): integer; for i:=0 to Path.count-1 do begin if StopSearch then Application.ProcessMessages; if StopIt then break; //Suche vom Benutzer abgebrochen Path[i] := IncludeTrailingPathDelimiter(Path[i]); ... ... ... Achtung: Was ist wenn Path.Count=0 ist :?: |
Re: Funktionen und Zeiger
hi kroko1999,
stop it ist eine Globale Variable, wird aber trotzdem nicht gesetzt, argh.. mfg tob |
Re: Funktionen und Zeiger
Hi,
Zitat:
Gruß Stephan :dance: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 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 by Thomas Breitkreuz