AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array ohne typ, aber wie ?

Ein Thema von mimi · begonnen am 1. Aug 2004 · letzter Beitrag vom 18. Apr 2005
Antwort Antwort
Seite 1 von 3  1 23      
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 12:18
Hallo,
ich habe mehre array unterschiedlichen typs und nun möchte ich gerne eine funktion haben die mit allen typen was anfangen kann in etwa so:

procedure DeleteArrayItem(Liste: array of) // aber das geht ja leider nicht

hat jemmand eine idee ???

meine derzeitige delete funktion sieht so aus:
Delphi-Quellcode:
procedure TBO.DeleteBall(Index:Integer);
var
  i:Integer;
begin
  if Length(ball) -1 >= 1 then begin
    for i:=Index to HIGH(BALL) do
      BALL[i]:=BALL[i+1];
    SetLength(BALL,Length(ball)-1 );
  end;
end;
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 12:19
Zitat von mimi:
Hallo,
ich habe mehre array unterschiedlichen typs und nun möchte ich gerne eine funktion haben die mit allen typen was anfangen kann in etwa so:

procedure DeleteArrayItem(Liste: array of) // aber das geht ja leider nicht

hat jemmand eine idee ???

meine derzeitige delete funktion sieht so aus:
Delphi-Quellcode:
procedure TBO.DeleteBall(Index:Integer);
var
  i:Integer;
begin
  if Length(ball) -1 >= 1 then begin
    for i:=Index to HIGH(BALL) do
      BALL[i]:=BALL[i+1];
    SetLength(BALL,Length(ball)-1 );
  end;
end;
Hi,

versuch mal
array of const mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 12:34
schreib' in den Type Beriech:
TStringDynArray = array of string;
Und dann nimm Als Variablentyp TStringDynArray
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 12:35
Schonmal den Typ Variant angeguckt?
Mit einem Array of Variant kannst Du so ziemlich alles machen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 13:02
ist der typ dann egal ???
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 13:25
Wenn Du das gleich richtig machen willst 8) dann verwende verkettete dynamische Listen. Damit geht das garantiert.
Gruß
Hansa
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 14:06
Zitat von Hansa:
Wenn Du das gleich richtig machen willst 8) dann verwende verkettete dynamische Listen. Damit geht das garantiert.
Bei Listen muss genauso ein Typ angegeben werden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#8

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 16:02
"Array of Pointer", und die pointer dann auf dynamisch angelegte Variablen.
Ich hab zwar nicht direkt im Kopf, wie ich dynamisch Speicher anfordern kann, aber so würd ich's in C machen. Statt nem Array geht natürlich auch ne (verkettete) Listenklasse.
[edit] natürlich sind dann Typecasts unumgänglich
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Array ohne typ, aber wie ?

  Alt 1. Aug 2004, 16:27
Zitat von mimi:
Hallo,
ich habe mehre array unterschiedlichen typs und nun möchte ich gerne eine funktion haben die mit allen typen was anfangen kann in etwa so:

procedure DeleteArrayItem(Liste: array of) // aber das geht ja leider nicht

hat jemmand eine idee ???

meine derzeitige delete funktion sieht so aus:
Delphi-Quellcode:
procedure TBO.DeleteBall(Index:Integer);
var
  i:Integer;
begin
  if Length(ball) -1 >= 1 then begin
    for i:=Index to HIGH(BALL) do
      BALL[i]:=BALL[i+1];
    SetLength(BALL,Length(ball)-1 );
  end;
end;
Machs mit Varianten-Arrays

Delphi-Quellcode:
// Deklaration
var Ball : Array of Variant;

// Konstante Zuweisung
Ball := VarArrayOf([1, "Zwei", now]);

// Abfrage der Werte
if VarType(Ball[i]) = varString then...
Ansonsten sind das normale dynamische Arrays (SetLengtht usw.) Schau mal in der Hilfe unter dem Stichwort VarType nach, da bekommst Du alles aufgelistet.
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Array ohne typ, aber wie ?

  Alt 22. Aug 2004, 13:17
ich habs jetzt so gemacht:
Delphi-Quellcode:
procedure DeleteArrayItem(liste:array of Variant; Index:Integer);
var
  i:Integer;
begin
  if Length(liste) -1 >= 1 then begin
    for i:=Index to HIGH(liste) do
      liste[i]:=liste[i+1];
    SetLength(liste,Length(liste)-1 );
  end;
end;
aber egal wie ich es mache: schreibe ich z.b. array of const bekomme ich immer den gleichen fehler bei setLength:[Fehler] Tools.pas(87): Inkompatible Typen

woran liegt das ????? was mache ich falsch !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 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