AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Eine Schleife für die Labels mit Variablenzuordnung(Array)?
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Schleife für die Labels mit Variablenzuordnung(Array)?

Ein Thema von Hallo_Thomas · begonnen am 3. Mai 2005 · letzter Beitrag vom 4. Mai 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Khabarakh
Khabarakh

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

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 16:51
1. Wenn du dich schon in einer Methode von TForm1 befindest, kannst du Form1 weglassen. Dann bekommst du auch keine Probleme bei mehreren Instanzen.
2. "Counte": soll das nicht Counter heißen ?
3. Das lässt sich extrem verkürzen:
Delphi-Quellcode:
var s: string;
begin
  for i := 0 to Anzeige.Count - 1 do
  begin
    s := Anzeige.Items[i];
    case s[Length(s)] of
      '0'..'6':
        if StrToInt(s) < 40 then
          Inc(Counte(StrToInt(s[Length(s)])))
        else
          Counte(StrToInt(s[Length(s)])) := 0;
      '7'..'9':
        if StrToInt(s) < 30 then
          Inc(Counte(StrToInt(s[Length(s)])))
        else
          Counte(StrToInt(s[Length(s)])) := 0;
    end;
  end;
  for i := 0 to 9 do
    (FindComponent('Label'+IntToStr(i+192)) as TLabel).Caption:=IntToStr(Counte[i]);
[edit]So sollte es stimmen:
Delphi-Quellcode:
for i := 0 to Anzeige.Count - 1 do
  begin
    s := Anzeige.Items[i];
    Index := StrToInt(s[Length(s)]);
    for ii := 0 to 9 do
      if (Index = ii) and (Counte[Index] < 30 + Integer(Index <= 6) * 10) then
        Inc(Counte[Index])
      else
        Counte[Index] := 0;
  end;
Gut, das mit dem Boolean zu Integer ist etwas verkünstelt, ich war zu faul, noch ein case einzufügen .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#12

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 17:59
@Khabarakh

hab das probiertt, funkt nich

Delphi-Quellcode:
begin
  for i := 0 to Form1.Anzeige.Count - 1 do
  begin
    s := Form1.Anzeige.Items[i];
    case s[Length(s)] of
      '0'..'6':
        if StrToInt(s) < 40 then
          Inc(Counte[StrToInt(s[Length(s)])])
        else
          Counte[StrToInt(s[Length(s)])] := 0;
      '7'..'9':
        if StrToInt(s) < 30 then
          Inc(Counte[StrToInt(s[Length(s)])])
        else
          Counte[StrToInt(s[Length(s)])] := 0;
    end;
  end;
  for i := 0 to 9 do
    (FindComponent('Label'+IntToStr(i+192)) as TLabel).Caption:=IntToStr(Counte[i]);
 end;
hab das probiert funkt nich

Delphi-Quellcode:
var index,ii,i:integer;
begin
for i := 0 to form1.Anzeige.Count - 1 do
  begin
    s := Form1.Anzeige.Items[i];
    Index := StrToInt(s[Length(s)]);
    for ii := 0 to 9 do
      if (Index = ii) and (Counte[Index] < 30 + Integer(Index <= 6) * 10) then
        Inc(Counte[Index])
      else
        Counte[Index] := 0;
        for x:= 0 to 9 do
    ( FindComponent('Label'+IntToStr(x+192)) as TLabel).Caption:=IntToStr(Counte[x]);
  end;
  end;
P.S. können wir uns auf diese Zeile einigen, denn hier muss der Fehler liegen

( FindComponent('Label'+IntToStr(x+192)) as TLabel).Caption:=IntToStr(Counte[x]);

P.S. hier hieß es nicht Counter weil ich hier den Counter schon als normale Variable vergeben habe
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 18:06
Zitat von Hallo_Thomas:
.... funkt nich
Ist ja auch kein Funkgerät.

Was funktioniert denn nicht? Kommt eine Fehlermeldung?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#14

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 18:25
@Sharky es gibt keine Fehlermelung

So hab jetzt mal mein Beispielprogramm so eingestellt das es genau den Fehler macht

Die 10 Zahlen rechts unten sollen die Counter darstellen die eigenlich Zählen müssten
Angehängte Dateien
Dateityp: zip beispiel_511.zip (21,9 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 19:35
Hai,

warum hast Du denn die Methode Addmyitem bei deiner Form2 deklariert wenn Du sie doch nur in Form1 benutzt.

Das problem liegt aber an dem FindComponent. Es findet die Labels nicht auf der Form1.
Ich habe das ganze mal etwas umgeschrieben.

Schaue Dir vor allem mal mein Set of Byte an
Angehängte Dateien
Dateityp: zip thomas_231.zip (24,9 KB, 4x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#16

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 3. Mai 2005, 20:02
@Sharky

Ich danke Dir, bin ja ect begeistert von dem Ergebnis,
Das mit der 2 Unit war eine Fehlgeschlagene Probe, ich wollte sehen ob ich dadurch ´das Programm schneller wird
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 4. Mai 2005, 06:53
Zitat von Hallo_Thomas:
...Ich danke Dir, bin ja ect begeistert von dem Ergebnis,....
Ich habe eben noch einmal den ganzen Code etwas überarbeitet.
  • Nur noch ein OnClick für alle SpeedButtons
  • Optimierung der Funktion AddMyItem
  • Bilder werden nur noch einmal geladen
  • Umsortierung der Methoden wegen der Übersichtlichkeit
Schaue Dir einfach mal an was ich so gemacht habe und beachte die Kommentare im Code
Angehängte Dateien
Dateityp: zip thomas2_171.zip (25,7 KB, 5x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#18

Re: Eine Schleife für die Labels mit Variablenzuordnung(Arra

  Alt 4. Mai 2005, 08:36
Super sharky.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22: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