Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit Array (https://www.delphipraxis.net/158198-problem-mit-array.html)

Gehstock 9. Feb 2011 08:43

Delphi-Version: 5

Problem mit Array
 
bei meinem Array gibt es ein seltsames Problem
So klappt alles

Delphi-Quellcode:
Const
 Perm : Array [0..5] of Array [1..18] of Integer = (
 (17,18,15,16,13,14,11,12,09,10,07,08,05,06,03,04,01,02), //Dummy
 (17,18,15,16,13,14,11,12,09,10,07,08,05,06,03,04,01,02), ///
 (15,16,17,18,11,12,09,10,07,08,05,06,03,04,01,02,13,14), ///
 (09,10,11,12,13,14,03,04,07,08,05,06,17,18,01,02,15,16), ///
 (11,12,09,10,15,16,13,14,17,18,05,06,01,02,07,08,03,04), ///
 (11,12,09,10,15,16,13,14,17,18,05,06,01,02,07,08,03,04)); //Platzhalter
 MB : Array [0..5] of Array [0..1] of String = (
 ('XX','XX'),// Dummy
 ('8F','BE'),
 ('3C','E2'),
 ('6C','B9'),
 ('74','9A'),
 ('53','AE'));
var
 I : Integer;
 Swapnum,Permnum: String;
begin
...
 for I := 1 to 18 do
 Permnum := Permnum + Swapnum[Perm[cbModel.ItemIndex + 2,i]];
  Result := MB[cbModel.ItemIndex + 2,Mode]+ Swapnum + Swapnum + Permnum;
schreib ich es so kracht es

Delphi-Quellcode:
Const
 Perm : Array [1..5] of Array [1..18] of Integer = (
 (17,18,15,16,13,14,11,12,09,10,07,08,05,06,03,04,01,02), ///
 (15,16,17,18,11,12,09,10,07,08,05,06,03,04,01,02,13,14), ///
 (09,10,11,12,13,14,03,04,07,08,05,06,17,18,01,02,15,16), ///
 (11,12,09,10,15,16,13,14,17,18,05,06,01,02,07,08,03,04), ///
 (11,12,09,10,15,16,13,14,17,18,05,06,01,02,07,08,03,04)); //Platzhalter
 MB : Array [1..5] of Array [0..1] of String = (
 ('8F','BE'),
 ('3C','E2'),
 ('6C','B9'),
 ('74','9A'),
 ('53','AE'));
var
 I : Integer;
 Swapnum,Permnum: String;
begin
...
 for I := 1 to 18 do
 Permnum := Permnum + Swapnum[Perm[cbModel.ItemIndex + 1,i]];
  Result := MB[cbModel.ItemIndex + 1,Mode]+ Swapnum + Swapnum + Permnum;
jemand ne Idee warum denn die Obere Lösung finde ich sehr unschön

mleyen 9. Feb 2011 08:56

AW: Problem mit Array
 
Delphi-Quellcode:
  if cbModel.ItemIndex < 0 then
    Exit;
  for I := 1 to 18 do
    Permnum := Permnum + Swapnum[Perm[cbModel.ItemIndex,i]];
  Result := MB[cbModel.ItemIndex,Mode]+ Swapnum + Swapnum + Permnum;
:glaskugel::?:

TonyR 9. Feb 2011 09:03

AW: Problem mit Array
 
Was kracht denn?
Stimmen die Indizes zur Laufzeit?

Seh ich das richtig, dass es dich stört "+2" anstatt "+1" zu schreiben? weil einen weiteren Unterschied konnte ich nicht erkennen :gruebel:

DeddyH 9. Feb 2011 09:10

AW: Problem mit Array
 
Vermutlich stören ihn die "Dummy"-Arrays.

Gehstock 9. Feb 2011 09:29

AW: Problem mit Array
 
Habs selbst rausgefunden hatte standartmäßig den ItemIndex auf -1 aber den Text von 0 in der ComboBox deswegen ist es mir nicht aufgefallen

Danke an alle

DeddyH 9. Feb 2011 09:30

AW: Problem mit Array
 
Hast Du mal die Bereichsprüfung eingeschaltet? Ich vermute, es liegt daran, dass Du irgendwo über die Array-Grenzen hinaus liest.

p80286 9. Feb 2011 10:07

AW: Problem mit Array
 
Zitat:

Zitat von DeddyH (Beitrag 1080467)
Hast Du mal die Bereichsprüfung eingeschaltet? Ich vermute, es liegt daran, dass Du irgendwo über die Array-Grenzen hinaus liest.

sollte man das nicht als Standardantwort hinterlegen?
So wie "Ist der Stecker drin?"
:wink::wink::wink:

Gruß
K-H

DeddyH 9. Feb 2011 10:24

AW: Problem mit Array
 
Oder "Did you turn it off and on again?" :mrgreen:


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