![]() |
Prüfen ob rekord werte enthält
moin,
ich übergebe einer funktion ein rekord, der dort gefüllt wird (oder eben auch nicht), wie prüf ich nun wenn die funktion beendet ist ob der rekord irgendetwas enthält? (ohne die einzelnen membervariablen durchgucken zu müssen) |
Re: Prüfen ob rekord werte enthält
Wenn dein Record keine Pointer(Klasse, Longstring, Px's) enthält, könntest du den Speicherbereich Byte für Byte durchgehen, oder in Wordbereichen, DWord-, Int64-Bereichen, das bleibt dir überlassen.
|
Re: Prüfen ob rekord werte enthält
Delphi-Quellcode:
Dann DatenGueltig vor Aufruf der Funktion mit false initialisieren und in der Funktion gegebenenfalls auf true setzen.
type
TDatensatz=record bla:integer; blubb:word; DatenGueltig:boolean; end; |
Re: Prüfen ob rekord werte enthält
Hallo,
spendiere dem Record doch ein Boolean Feld Beispeil
Delphi-Quellcode:
Wenn Ok True ist, hat die Funktion eine String in Wert geschrieben.
TMyRecord=Record
Wert : String; Ok : Boolean; end; Wenn nicht ist Ok eben False |
Re: Prüfen ob rekord werte enthält
Zitat:
wenn ich das richtig lese wird ja in der Funktion entschieden ob der Record gefüllt wird oder nicht? Dann übergebe den Record doch als VAR-Paramter an die Funktion und als Ergbniss der Funktion ein True bei gefüllt.
Delphi-Quellcode:
Function FillRecord (VAR value : TMyRecord) : Boolean;
begin result := False; if (record_wird_gefuell) then begin result := True; value.inhalt := 'blubb'; end; end; procedure Test; var foo : TMyRecord; begin if (FillRecord (foo)) then begin ShowMessage ('Record ist gefüllt'); end; end; |
Re: Prüfen ob rekord werte enthält
hallo leute,
alles gute idden, danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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