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 Const in Function auslesen (https://www.delphipraxis.net/150193-const-function-auslesen.html)

DarkItachi 9. Apr 2010 21:11


Const in Function auslesen
 
Hallöchen!

Kurz und knapp: Ich habe eine Unit.
In der Unit habe ich eine Function
Delphi-Quellcode:
function BerechneGehweg(Ort, Tempo: String): String
(Meine Form1 übergibt die Parameter!)

Außerdem hat die Unit noch Konstanten.
Delphi-Quellcode:
Also Orte: array[0..16] of string = ('Berlin', 'Kiel', 'Hamburg', 'Sachsen' //[usw.]....
Ich will in dieser einen Function nun Case Ort of verwenden..
Jedoch hat kann Case nicht mit String um...

Wenn Form1 nun 'Berlin' übergibt, dann will ich jetzt, dass Berlin den Wert 0 hat.
Wenn Form1 nun 'Kiel' übergibt, dann will ich jetzt, dass Kiel den Wert 1 hat.

Ich will halt nicht mit 17 if's arbeiten!
Ich will mal probieren, mit Case zu arbeiten!


(Die Form1 hat halt zwei Edits und diese werden in der Function übergeben!)

Wie kann ich nun Case mit dem Parameter 'Berlin' verwenden?

Thx

Neutral General 9. Apr 2010 21:16

Re: Const in Function auslesen
 
Hallo,

Delphi-Quellcode:
uses
  StrUtils;

const
  Orte: Array[0..16] of String = ('Berlin', 'Kiel', 'Hamburg', 'Sachsen',...);


function Blubb(Ort: String): Integer;
var index: Integer;
begin
  index := AnsiIndexStr(Ort,Orte);
end;


Blubb('Koblenz'); // -1
Blubb('Hamburg'); // 2
Gruß
Neutral General

DarkItachi 9. Apr 2010 21:18

Re: Const in Function auslesen
 
Cool danke, dass ist genau das was ich gesucht habe! ^^


Edit: Koblenz wäre bei mir 14! ^^

Edit2: Müsste bei dieser Function nicht
Delphi-Quellcode:
Result:= AnsiIndexStr(Ort,Orte);
stehen?

Christian Seehase 9. Apr 2010 21:35

Re: Const in Function auslesen
 
Zitat:

Zitat von DarkItachi
Edit2: Müsste bei dieser Function nicht
Delphi-Quellcode:
Result:= AnsiIndexStr(Ort,Orte);
stehen?

Richtig, müsste es, dafür kannst Du dann auch die lokale Variable weglassen.

DarkItachi 9. Apr 2010 21:37

Re: Const in Function auslesen
 
Oh das habe ich noch nicht gewusst!
Kann man also: (Beispiel)

mit function1 auf eine Variable von Function2 zugreifen?
Ich kann es grad leider nicht testen

Neutral General 9. Apr 2010 21:39

Re: Const in Function auslesen
 
Zitat:

Zitat von Christian Seehase
Zitat:

Zitat von DarkItachi
Edit2: Müsste bei dieser Function nicht
Delphi-Quellcode:
Result:= AnsiIndexStr(Ort,Orte);
stehen?

Richtig, müsste es, dafür kannst Du dann auch die lokale Variable weglassen.

Eh ja.. ups :?

Also falls du das meinst: Du kannst nicht von Funktion 1 auf lokale Variablen von Funktion 2 zugreifen.

DarkItachi 9. Apr 2010 21:48

Re: Const in Function auslesen
 
ja mich hat das nur gewundert.
Case von Funktion 1 hätte doch gar keinen Zugriff auf der Variable Index von Funktion 2.
Oder sehe ich das falsch?

Dann müsste bei
Delphi-Quellcode:
Case Blubb('Berlin') of
ja immer -1 oder so rauskommen?

Oder ist ein nicht definierter Integer 0?

Ach keine Ahnung.

Auf jeden Fall ein dickes THX

Neutral General 9. Apr 2010 21:49

Re: Const in Function auslesen
 
Das Array mit den Konstanten musst du schon global definieren, wenn du es in mehreren Funktionen nutzen willst.

DarkItachi 9. Apr 2010 21:55

Re: Const in Function auslesen
 
das habe ich ja ^^

Neutral General 9. Apr 2010 21:58

Re: Const in Function auslesen
 
Dann ist doch alles ok oder?


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