![]() |
Array of char an Funktion übergeben
Hallo zusammen,
ich habe ein kleines Problem. Ich möchte ein array[0..99] of char an eine Funktion übergeben, bekomme das aber nicht richtig hin:
Delphi-Quellcode:
An der Stelle wo ich das 'hallo' übergeben möchte hakt es,
var
a:array[0..99] of char; implementation procedure TForm1.Button1Click(Sender: TObject); begin a:='hallo'; test[]; //hier hakt es ! end; procedure test(var st:array of char); begin if st='hallo' then showmessage('funktioniert') else showmessage('funk. nicht'); end; wie übergebe ich ein array an eine Funktion? Gruß Sebastian (PS: ich weiß es geht einfacher mit pchar oder string) |
Re: Array of char an Funktion übergeben
du musst das array als type dekladieren,
Delphi-Quellcode:
type
TMyArray = array[0..99] of char; var a:TMyArray ; implementation procedure TForm1.Button1Click(Sender: TObject); begin a:='hallo'; test(a); //hier hakt es ! end; procedure test(var st :TMyArray ); begin //Whatever end; |
Re: Array of char an Funktion übergeben
Genauso wie jede andere Variable
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin a[0]:='hallo'; test(a); end; procedure test(var st:array of char); begin if st[0]='hallo' then showmessage('funktioniert') else showmessage('funk. nicht'); end; |
Re: Array of char an Funktion übergeben
Ein offener Array-Parameter kann nicht mit Call-By-Reference übergeben werden. Bist du dir sicher, dass du nicht einfach einen String haben willst?
|
Re: Array of char an Funktion übergeben
Zitat:
Ich hatte aber auch gedacht, dass man das mit Typen machen muss :gruebel:
Delphi-Quellcode:
[Edit] Code formatiert
var
a:array[0..99] of String; implementation procedure test(var st:array of String); begin if st[0]='hallo' then showmessage('funktioniert') else showmessage('funk. nicht'); end; procedure TForm1.Button1Click(Sender: TObject); begin a[0]:='hallo'; test(a); end; |
Re: Array of char an Funktion übergeben
Zitat:
|
Re: Array of char an Funktion übergeben
OK, das hab ich jetzt verstanden.
Jetzt kommt mein zweites Problem. Ich möchte diesem array of char jetzt folgendes zuordnen:
Delphi-Quellcode:
Jetzt kommt eine Fehlermeldung das die
a:=Stringgrid1.Cells[0,1];
Typen nicht miteinander übereinstimmen. "[Pascal Fehler] Messwerte.pas(62): E2010 Inkompatible Typen: 'TMyArray' und 'string'" |
Re: Array of char an Funktion übergeben
Zitat:
|
Re: Array of char an Funktion übergeben
Hallo,
das Problem ist, ich übergebe die Parameter an eine in "C" geschriebene Funktion. Dann kann ich ja nicht mit string arbeiten... Gruß Sebastian |
Re: Array of char an Funktion übergeben
Versuch mal
Delphi-Quellcode:
a[0] := Stringgrid1.Cells[0, 1];
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 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