Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Function aufruf (https://www.delphipraxis.net/67279-function-aufruf.html)

Reini64 12. Apr 2006 10:47


Function aufruf
 
Hallo ich komme hier nicht weiter,
was mache ich falsch.

ich habe eine Function:
Delphi-Quellcode:
function Lzugriff(status:integer): integer ;
var
  m: string;
begin
  m:= copy(F1000.LZugriff.Caption,status,1);
  result:= strtoint(m);
end;
der wert für LZugriff.caption ist : "0011111110001001011101"

ich möchte nun mit der Function den wert aus der 6 stelle ermitteln.

Delphi-Quellcode:
status := 6;
i:= lzugriff (status);
und erhalte nun folgende Fehlermeldung:

[Pascal Fehler] f_1000.pas(147): E2066 Operator oder Semikolon fehlt

Danke fü Eure Hilfe

ste_ett 12. Apr 2006 11:01

Re: Function aufruf
 
An dem Code ist so nicht falsch, :)

Zeig mal den Code um Zeile 147 herum. :)

NormanNG 12. Apr 2006 11:02

Re: Function aufruf
 
Hi,

statt dem Formulartitel holst du den "Funktions-Titel" ;-)

versuchs mal mit
Delphi-Quellcode:
m:= copy(F1000.Caption,status,1);

Reini64 12. Apr 2006 11:09

Re: Function aufruf
 
Danke NormanNG,
habe die function umbenannt

Delphi-Quellcode:
function zugriff(status:integer): integer ;
var
  m: string;
begin
  m:= copy(F1000.LZugriff.Caption,status,1);
  result:= strtoint(m);
end;
danach geht es.
also nochmals Danke !

jim_raynor 12. Apr 2006 11:10

Re: Function aufruf
 
Du kannst die ganze Funktion auch verkürzen, da du ja nur ein Zeichen abfragst:

Delphi-Quellcode:
function Lzugriff(status:integer): integer ;
begin
  result:= strtoint(F1000.LZugriff.Caption[status]);
end;

Muetze1 12. Apr 2006 11:19

Re: Function aufruf
 
... wobei seine Funktion bei einem zu grossen "Status"-Wert einfach nix zurückliefert und dann StrToInt() mit "... ist kein gültiger Integer Wert aussteigt" und deine Lösung zuvor einen Range Check Error auslösen würde (sofern eingeschaltet) und danach auch die zuerst genannte Meldung...

Angel4585 12. Apr 2006 11:40

Re: Function aufruf
 
mach es doch so... :roll:

Delphi-Quellcode:
function Lzugriff(status:integer): integer ;
begin
Result:=-1;
if Length(F1000.LZugriff.Caption)< status then
 exit;
result:= strtoint(F1000.LZugriff.Caption[status]);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 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