AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi for I := 1 to SL.Count do; oder for I := 0 to SL.Count -1 do
Thema durchsuchen
Ansicht
Themen-Optionen

for I := 1 to SL.Count do; oder for I := 0 to SL.Count -1 do

Ein Thema von Die Muhkuh · begonnen am 24. Feb 2005 · letzter Beitrag vom 25. Feb 2005
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:29
Count = 5
Schleife von 0 bis Count-1:
0, 1, 2, 3, 4
Das sind bei mir fünf. Ihr müsst auch die null mitzählen!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#12

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:30
Hi,

@jbp

jupp!

Genau das meine ich. Es sollen ja alle (!) Einträge durchlaufen werden und nicht der erste überprungen werden und dann erst durchlaufen


Also, wer hat nun eigentlich recht?

[edit]

@Luckie mach ich ja

[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:32
Zitat von Spider:
Es sollen ja alle (!) Einträge durchlaufen werden und nicht der erste überprungen werden und dann erst durchlaufen
Haben wir doch gerade erklärt: Der Erste Eintrag hat den Index 0, ergo muss man auch bei null angefangen werden zu zählen und bei Count-1 muss aufgehört werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#14

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:33
Zitat von Luckie:
Zitat von Spider:
Es sollen ja alle (!) Einträge durchlaufen werden und nicht der erste überprungen werden und dann erst durchlaufen
Haben wir doch gerade erklärt: Der Erste Eintrag hat den Index 0, ergo muss man auch bei null anfangen werden zu zählen und bei Count-1 aufhören.
Das sage ich ja auch die ganze Zeit
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:40
Zitat von Spider:
Das sage ich ja auch die ganze Zeit
Ja ach ne, sollen wir dich nun loben?
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#16

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:40
Zitat von Spider:
Jetzt wollte ich wissen, was nun richtig?
also doch nicht sicher!!!
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#17

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:41
Zitat von Spider:
Delphi-Quellcode:
var
  I: Integer;
  SL: TStringList;
begin
  SL := TStringList.Create;

  try
    SL.Add('0');
    SL.Add('1');
    SL.Add('2');

    for I := 1 to SL.Count do
    begin
     ShowMessage(SL.Strings[I]);
    end;
  finally
    SL.Free;
  end;
end;
Fazit: Es werden nur 1 und 2 angezeigt.

Da in der dc.loc Dateien stehen:

URL;MD5;Wohin

sollte ja auch die erste Datei ausgelesen werden und nicht "vergessen" werden.
Wenn du das so machst und alle Strings angezeigt werden sollen, musst du statt

Delphi-Quellcode:
 

ShowMessage(SL.Strings[I]);
das schreiben:

ShowMessage(SL.Strings[I - 1]); sonst fehlt der Eintrag mit der 0, weil das for... bei 1 anfägt und dadurch nicht der Eintrag mit dem Index 0 angezeigt wird...

Aber ich würds auch mit Count - 1 machen...^^
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#18

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:45
Hi,

@der Depp,

so könnte man es auch machen. Aber so wie der Quellcode im ersten Beitrag ist, wird schlicht einfach der erste Eintrag übersprungen.

@Matze

klar!
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#19

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:47
toll gemacht spider, applaus *g+
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#20

Re: for I := 1 to SL.Count do; oder for I := 0 to SL.Count -

  Alt 24. Feb 2005, 17:58
da in dem Code aus dem ersten Posting gar nicht auf die Items der StringList Loc zugegriffen wird, kann die Schleife eigentlich beliebig laufen, hauptsache sie läuft über genau Loc.Count Schritte.
Das Problem liegt nur in der richtigen Indizierung des dynamischen Array Datei, welches ab 0 indiziert wird.

Man könnte also genauso schreiben

Delphi-Quellcode:
    for i := 4711 to Loc.Count-4710 do begin
     Datei[i-4711] := TDatei.Create;
    end;

ich gebe aber zu, daß man die Schleife normalerweise ab 0 laufen lassen würde ..........

Roderich
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 18:15 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