AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Liste exceeds bounds (Schnelle Hilfe bitte)
Thema durchsuchen
Ansicht
Themen-Optionen

Liste exceeds bounds (Schnelle Hilfe bitte)

Ein Thema von Finki · begonnen am 21. Aug 2013 · letzter Beitrag vom 12. Sep 2013
Antwort Antwort
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 22. Aug 2013, 08:42
Also:
for j:=3 to (Form1.zwischenspeicher.Lines.Count-1) do
Kleine Anmerkung am Rande: die Klammern sind nicht nötig.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 12:36
Vielen Dank für die Antworten.
Aber ich verstehe es noch nicht, last uns des mal durch gehen am beispiel:

Memo inhalt:

Code:
1
2
0

2
lblFeld1
Labeltext eingeben
135
44
100
16

4
lblFeld2
21.08.2013
137
53
55
16

1
txtFeld1
Name
134
72
50
23

gut, das Programm fängt an mit auslesen:

Delphi-Quellcode:
    for j:=3 to Form1.zwischenspeicher.Lines.Count do //j ist 3
    begin
    if Form1.zwischenspeicher.Lines[(j-3)*8+4]='1then // 3 (j)-3= 0; 0*8=0; 0+4=4
und in der 4ten Zeile steht eine 2 also geht das Programm nicht in diese if schleife!

und das geht doch so weiter und dann am Ende is es halt zu Ende. Oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#3

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 12:48
1. If-Schleife
2.
Zitat:
Delphi-Quellcode:
for j:=3 to Form1.zwischenspeicher.Lines.Count do //j ist 3
    begin
    if Form1.zwischenspeicher.Lines[(j-3)*8+4]='1then
Nehmen wir mal an, das Memo enthält 4 Zeilen. Dann ergibt das im letzten Durchlauf 1*8+4 = 12. 12 ist aber um einiges größer als 4 (wobei die 4. Zeile auch noch den Index 3 hat, also noch einen weniger). Was soll denn dabei herauskommen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 13:16
1. die seite ist richtig witzig!!

2. aha so langsam dämmert mir es was das Problem ist, vielen dank!!
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 13:58
Solche abenteuerlichen Schleifen macht man z.B. so
Delphi-Quellcode:
j := 0;
while j<List.Count do begin
  List[j] := irgendwas;
  List[j+1] := irgendwas anderes.
  ...
  List[j+7] := das Letzte;
  inc (j,8);
end;
Wobei hier wirklich eine INI-Datei angebracht wäre, weil dann die einzelnen Werte nicht durch eine Formel, sondern direkt durch Namen angesprochen werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#6

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 14:20
Das knallt aber genauso, wenn die Liste weniger als 8 Elemente hat. Besser so:
Delphi-Quellcode:
j := 8;
while j <= Liste.Count do
  begin
    Liste[j - 8] := Dideldum;
    Liste[j - 7] := Düdeldü;
    ...
    Liste[j - 1] := LetzterEintrag;
    inc(j, 8);
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (11. Sep 2013 um 14:24 Uhr)
  Mit Zitat antworten Zitat
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 14:40
Vielen dank für den Tipp, mit der INI Datei is echt ne sinnvolle sache. Vielen dank.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Liste exceeds bounds (Schnelle Hilfe bitte)

  Alt 11. Sep 2013, 20:57
Das knallt aber genauso, wenn die Liste weniger als 8 Elemente hat. Besser so:
Angeber.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:50 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