AGB  ·  Datenschutz  ·  Impressum  







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

array mit Konstanten erstellen ?

Ein Thema von qicki · begonnen am 6. Aug 2005 · letzter Beitrag vom 7. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
qicki

Registriert seit: 5. Jul 2004
22 Beiträge
 
Delphi 6 Personal
 
#1

array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:06
Delphi-Quellcode:
procedure Umgebung(const x_kood:integer = 0;const y_kood: integer = 0);
var
  bild : array[x_kood..(x_kood + 20), y_kood..(y_kood+20)] of string ;
.
.
das geht leider nicht , er meint das x_kood,y_kood keine Konstanten sein

wie erstelle ich nun das array mit variablen indexanfang/ende ?
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#2

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:17
Delphi-Quellcode:
var
  A: array of array of Integer;
begin
  SetLength(A, 10, 15);
end;
  Mit Zitat antworten Zitat
qicki

Registriert seit: 5. Jul 2004
22 Beiträge
 
Delphi 6 Personal
 
#3

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:22
naja dynamische arrays beginnen leider aber immer mit dem 0 index , ich will aber z.b. mit dem index 100 beginnen oder -100
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:26
Kurz und knapp: Geht nicht, jedenfalls nicht mit Arrays . Wozu brauchst du denn die Indizierungen? Du könntest eine eigene Klasse mit Liste schreiben, die kannst du dann fast genau gleich nutzen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
qicki

Registriert seit: 5. Jul 2004
22 Beiträge
 
Delphi 6 Personal
 
#5

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:34
hm hab leider noch nicht mit Klassen gearbeitet , kannst du mal kurz deine Lösung zeigen ?
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#6

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 17:38
Es ist Unsinn, dass ein dyn. Array mit einem anderen Index als 0 beginnen sollte. Das ergibt sich doch aus der Beschaffenheit eines Arrays. Die Arrayvariable ist nichts anderes als ein Zeiger, der auf den Beginn des Speicherbereichs zeigt, in dem die Daten des Arrays stehen. Über den fortlaufenden Index wird dann das jeweilige Element angesprungen. Das geht natürlich nur, wenn der Index auch bei 0 beginnt. Desweiteren gibt es auch keinen zwingenden programmlogischen Grund, ein Array anders als von 0 beginnend zu indizieren.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#7

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 18:28
Wir können hier auch wieder das Thema der beschreibbaren Konstanten aufführen... [oh]{$J}[/oh]. Ist ein kleines Thema für sich, und auch eine Diskussion für sich, ob man es nun machen sollte, oder nicht. Aber es wäre eine Möglichkeit
  Mit Zitat antworten Zitat
qicki

Registriert seit: 5. Jul 2004
22 Beiträge
 
Delphi 6 Personal
 
#8

Re: array mit Konstanten erstellen ?

  Alt 6. Aug 2005, 19:43
hat sich erledigt
hab mir Oxmyx beitrag zu herzen genommen und nun ein Array mit festen grenzen genommen und die die zu verändernden indexwerte dem bereich angepasst

 bild[xwert-x_kood][ywert-y_kood]:='Wert';
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: array mit Konstanten erstellen ?

  Alt 7. Aug 2005, 11:35
obwohl du es schon erledigt hast, poste ich trotzdem eine lösung
da ich ein ähnliches problem wie du auch mal gehabt habe, habe ich mir eine klitzekleine klasse geschrieben, die sowas kann, was du möchtest
schau sie dir mal an, ein beispiel-programm ist anbei

[edit] die exception ist gewollt weil ich über den index hinaus gehe in der schleife
hab grad erst jetzt bemerkt, dass ich diese "fehlerhafte version" angehängt habe
Angehängte Dateien
Dateityp: zip myarray_334.zip (200,6 KB, 4x aufgerufen)
Oliver Hanappi
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: array mit Konstanten erstellen ?

  Alt 7. Aug 2005, 11:58
@idontwantaname: Probier mal das aus :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyArr: TArray;
  Loop: Integer;
begin
  MyArr := TArray.Create(-10, 2); //!
  for Loop := MyArr.Min to MyArr.Max do
    MyArr.Items[Loop] := Loop;
  ShowMessage('Gefüllt!');
  for Loop := MyArr.Min to MyArr.Max do
    ShowMessage(MyArr.Items[Loop]);
  MyArr.Free;
end;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:19 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