AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delphi Bug? (for i := 1 to componente.width)

Delphi Bug? (for i := 1 to componente.width)

Ein Thema von Maa83 · begonnen am 5. Mär 2003 · letzter Beitrag vom 5. Mär 2003
Antwort Antwort
Seite 1 von 2  1 2   
Maa83

Registriert seit: 7. Nov 2002
218 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Delphi Bug? (for i := 1 to componente.width)

  Alt 5. Mär 2003, 07:28
Also ich hab da wa seltsames festgestellt... vielleicht bin ich auch nur zu doof

und zwar hab ich z.B. eine PaintBox und möchte eine for Schleife machen die folgendermaßen aussieht:

Code:
for i := 1 to paintbox1.width do begin
//tue irgendwas
end;
so jetzt sollte er die Schleife solange wiederholen bis width erreicht ist... Delphi macht aber folgendes:

entweder geht Delphi gar nicht in die Schleife rein
oder er ignoriert das Ende der Schleife und zählt einfach weiter und kommt nicht mehr raus...

mach ich was falsch oder ist das ein fieser Delphi-Bug?

das selbe passiert mit der Eigenschaft .Height
Auch wenn ich diese Werte mit Hilfsvariablen zwischenspeichere:
Code:
w := paintbox1.width;
for i := 1 to w do begin
...
end;
  Mit Zitat antworten Zitat
janjan

Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
 
Delphi 4 Standard
 
#2
  Alt 5. Mär 2003, 07:38
Bei mir klappt das problemlos:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  for i:= 1 to PaintBox1.Width do
    begin
      PaintBox1.Canvas.Pixels[i,random(PaintBox1.Height)]:=1;
    end;
end;
Die Wichtigkeit eines Postings im Forum ist reziprok zur Anzahl der enthaltenenen, kumulierten Ausrufungszeichen!!!
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
218 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3
  Alt 5. Mär 2003, 07:49
mhhh....

kann das vielleicht mal einer mit Delphi6 Enterprise versuchen...
vielleicht hat sich da ja irgendwas eingeschlichen...

ich glaube nicht das ich bei so einer einfachen Anweisung Fehler mache...

komisch ist das aber schon
  Mit Zitat antworten Zitat
janjan

Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
 
Delphi 4 Standard
 
#4
  Alt 5. Mär 2003, 07:54
Ich bin grad auf der Arbeit und hab das mit Delphi 7 getestet, nicht mit Delphi 4.

Ich hab die Vermutung das der Fehler eher innerhalb der Schleife liegt, es wäre hilfreich wenn du den teil mal posten könntest.
Die Wichtigkeit eines Postings im Forum ist reziprok zur Anzahl der enthaltenenen, kumulierten Ausrufungszeichen!!!
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.003 Beiträge
 
Delphi 2010 Professional
 
#5
  Alt 5. Mär 2003, 08:13
Hallo Maa83,

häufig kommt sowas zustande, wenn (aus Versehen) der Schleifenindex in der Schleife verändert wird.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
218 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6
  Alt 5. Mär 2003, 08:19
Dank euch erst mal
aber hilft mir alles nix

i wird nicht verändert!

der Fehler tritt bei mir immer auf egal was ich in der Schleife mache
z.B. auch bei dieser hier:

Code:
x := 0;
for i := 1 to paintbox1.width do begin
    inc(x);
end;
ShowMessage(x);
BUHU

Ich hab das bei mir daheim und auch im Geschäft getestet (jeweils Delphi6 Enterprise)
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#7
  Alt 5. Mär 2003, 08:53
Hallo Maa83

Ich habe diesen Code mal getestet und läuft bei mir super! Ich habe Delphi 6 Enterprise + update 2 (Build 6.240)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y,i: Integer;
begin
  x := 0;
for i := 1 to paintbox1.width do begin
    inc(x);
end;
ShowMessage(inttostr(x));
end;
Gruß Tino
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
218 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8
  Alt 5. Mär 2003, 09:06
mhhhh...
kapier ich nicht...

naja vielleicht klappts ja irgendwann Delphi ist sicher sauer auf mich

wisst ihr eigentlich wie beschissen 800x600 ist WÜRG
muss ein Programm gerade bei dieser Auflösung testen da unserer Kunden diese Auflöung haben WÄHHHH

also dann wünsch ich noch schönes
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.003 Beiträge
 
Delphi 2010 Professional
 
#9
  Alt 5. Mär 2003, 09:41
Hallo Maa83,

füge doch bitte noch einmal folgende Zeile ein uns poste, was ausgegeben wird:

   ShowMessage(IntToStr(paintbox1.width));
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Maa83

Registriert seit: 7. Nov 2002
218 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10
  Alt 5. Mär 2003, 09:49
es wird die richte Zahl ausgegeben (in diesem Fall 485)
wenn ich die Zahl ganz normal in der Schleife angeben funktioniert es natürlich auch nur mit .width eben nicht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf