Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integerrückgabewert zeigt 4444192 ? (https://www.delphipraxis.net/138693-integerrueckgabewert-zeigt-4444192-a.html)

Chefx 15. Aug 2009 11:21


Integerrückgabewert zeigt 4444192 ?
 
Hey DBs, :hi:

ich hab mal wieder eine frage.
Hier erstmal mein Quelltext:
Delphi-Quellcode:
unit Unit1;

...

type ftabsave = ARRAY [0..100,1..2] of string;
type fsystem = ARRAY [1..2] of integer;

...

var
  Form1: TForm1;
  tabsave:ftabsave;
  systems:fsystem;
  zahl:integer;

...

function TabSyneditSave(text:string;tabposition,cursorposition:integer):boolean;
begin
tabsave[tabposition,1]:=text;
tabsave[tabposition,2]:=InttoStr(cursorposition);
end;
procedure TabSyneditLoad(tabposition:integer; var text:string; cursorposition:integer);
begin
text:=tabsave[tabposition,1];
cursorposition:=strtoint(tabsave[tabposition,2]);
end;

procedure TabSyneditManager(text:string;tabposition,cursorposition:integer; var newtext:string;newcursorposition:integer);
begin
TabSyneditSave(text,systems[1],cursorposition);
TabSyneditLoad(tabposition,newtext,newcursorposition);
systems[1]:=tabposition;
end;

so hier sind die 3 Funkionen oder Proceduren.
mein Problem ist das bei Cursorposition (in der Procedure TabSyneditLoad) der wert z.b. auf 3 ist dann bei newcursorposition(in der procedure TabSyneditManager) auf 4444192.

Warum ist das den so ? :?
ich hab kein plan wo der fehler liegt :gruebel:

mashutu 15. Aug 2009 11:29

Re: Integerrückgabewert zeigt 4444192 ?
 
Du must Cursorposition auch als 'var' uebergeben. Dann sollte es klappern.

jaenicke 15. Aug 2009 11:31

Re: Integerrückgabewert zeigt 4444192 ?
 
Ich verstehe nicht was der Quelltext mit dem Titel des Threads zu tun hat? Wo ist da ein Rückgabewert?!? :gruebel:

Und in dem Quelltext hast du zwei verschiedene Variablen, die an verschiedene Funktionen übergeben werden. In TabSyneditLoad wird der Wert verändert und nie wieder genutzt.

Ach so... ich glaube ich habe verstanden...
var gilt nicht für die folgende Variable in TabSyneditLoad. Nur für den String. Ich glaube du meinst das so:
Delphi-Quellcode:
procedure TabSyneditLoad(tabposition:integer; var text:string; var cursorposition:integer);
begin
text:=tabsave[tabposition,1];
cursorposition:=strtoint(tabsave[tabposition,2]);
end;
Aber warum keine Funktion mit einem echten Rückgabewert?

mkinzler 15. Aug 2009 11:41

Re: Integerrückgabewert zeigt 4444192 ?
 
Und warum globale Variablen?

Chefx 15. Aug 2009 12:10

Re: Integerrückgabewert zeigt 4444192 ?
 
Danke

Ich hab immer gedacht das alles was nach denn var ist als rückgabewert gilt :wall:

Zitat:

Zitat von jaenicke
Aber warum keine Funktion mit einem echten Rückgabewert?

kann man nicht nur ein wert als rückgabewert bei einer function nutzen?
Ich hab doch aber 2. :gruebel:

Zitat:

Zitat von mkinzler
Und warum globale Variablen?

das ist erstmal zum testen, würd später noch geändert.

mkinzler 15. Aug 2009 12:15

Re: Integerrückgabewert zeigt 4444192 ?
 
Zitat:

Ich hab immer gedacht das alles was nach denn var ist als rückgabewert gilt ouch!
Nur der Parameter, der direkt damit deklariert wird.
Zitat:

kann man nicht nur ein wert als rückgabewert bei einer function nutzen?
Ja. Aber kann einen als Rückgabe und den Rest al var oder den Rückgabewert als Status nehmen

Chefx 15. Aug 2009 12:20

Re: Integerrückgabewert zeigt 4444192 ?
 
Zitat:

Zitat von mkinzler
Rückgabewert als Status nehmen

was ist denn das?

mkinzler 15. Aug 2009 12:21

Re: Integerrückgabewert zeigt 4444192 ?
 
Z.B. ob alles funktioniert hat.

Chefx 15. Aug 2009 12:23

Re: Integerrückgabewert zeigt 4444192 ?
 
ah ja :idea: ,
also wenn jetzt ein fehlerauftritt zum beispiel true oder false zurückgeben.

danke an alle

mkinzler 15. Aug 2009 12:32

Re: Integerrückgabewert zeigt 4444192 ?
 
Oder halt einen Code, der ggf. aussagt welcher Fehler aufgetreten ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 Uhr.
Seite 1 von 2  1 2      

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