Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wie gibt man "nix" zurück? (https://www.delphipraxis.net/30744-wie-gibt-man-nix-zurueck.html)

richard_boderich 28. Sep 2004 19:46

Re: wie gibt man "nix" zurück?
 
dann mach das so, weise allen stringwerten zum programmstart einen string z.B. "test" zu

in deiner routine fragste dann ab, ob dieser string drin ist

Delphi-Quellcode:
if irgentwas() then result:=aRecord
if not irgentwas() then
begin
 result.irgentwas:='test';
 result.fgjgj:='test';
 result.ghgj:='test;
 // den typ passwort kenn ich net, scheint ein gekapseltes record für einen MD5 hash zu sein, dann weist du halt z.B. nen hash aus nur nullen zu
end;

ibp 28. Sep 2004 19:47

Re: wie gibt man "nix" zurück?
 
oder du erstellst dir deinen eigenen nil-record!

Pseudemys Nelsoni 28. Sep 2004 19:49

Re: wie gibt man "nix" zurück?
 
hallo richard,

werde es übernehmen, danke :)

@ibp: wie das denn? ich kann euf ein rekord doch nicht direkt zugreifen oder?

richard_boderich 28. Sep 2004 19:56

Re: wie gibt man "nix" zurück?
 
du kannst auf die felder eines recors zugreifen

Delphi-Quellcode:
Sie können auf die Felder eines Records zugreifen, indem Sie die Feldbezeichner mit dem Record-Namen qualifizieren:

Record1.Year := 1904;
Record1.Month := Jun;
Record1.Day := 16;

Alternativ dazu ist auch die Verwendung einer with-Anweisung möglich:

with Record1 do
begin
  Year := 1904;
  Month := Jun;
  Day := 16;
end;
siehe Delphi hilfe (F1-Taste)

ibp 28. Sep 2004 19:58

Re: wie gibt man "nix" zurück?
 
indem du einen nilrecord definierst!

z.B.:

Delphi-Quellcode:
var nilrecord: TDBFileItem
...
  nilrecord.irgendwas:='nix'
  nilrecord.Password:'garnix'; // TMD5Digest was auch immer das für ein typ ist
  nilrecord.fgjgj:='auchnix';
  nilrecord.ghgj:='nienix';
...

Sanchez 28. Sep 2004 20:07

Re: wie gibt man "nix" zurück?
 
Hallo,

Du könntest einfach Result mit Nullen anfüllen. Etwa so:

Delphi-Quellcode:
function bla: MyRecord
begin
  fillchat(result, sizeof(MyRecord), #0);
  if irgendwas() then result := aRecord;
end;

grüße, daniel

negaH 28. Sep 2004 21:43

Re: wie gibt man "nix" zurück?
 
bezogen auf deine Frage etwa so

Delphi-Quellcode:
function bla: string;
begin
  result := 'nix';
end;
;) Spaß beiseite, Sanchez Lösung ist schon die richtige, du musst aber aufpassen das die Felder des Records auchmit NULL-Werten korrekt initialisiert sind. D.h. es gibt durchaus die Möglichkeit das ein Feld zb. ein Set darstellt und per Definitino nicht das 0'te Element auch wirklich als Leer-Element zählt. In diesem Falle würde also FillChar() eine 0 in dieses Feld speichern, was aber nicht gleichzusetzen wäre wie ein Leer-Element.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr.
Seite 2 von 2     12   

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