AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

variable felder, string aufspalten,....

Ein Thema von webtiger · begonnen am 1. Mär 2007 · letzter Beitrag vom 29. Mär 2007
Antwort Antwort
Seite 2 von 2     12
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#11

Re: variable felder, string aufspalten,....

  Alt 6. Mär 2007, 10:44
ja. das ist mir so langsam auch klar geworden^^ aber jetzt hab ich das prog angefangen, jetzt will ich es auch fertig kriegen *g* naja, und ich hab noch max. 3 infostunden. aber wird schon....


-web
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#12

Re: variable felder, string aufspalten,....

  Alt 6. Mär 2007, 11:26
mal noch ne kleine frage hierzu:

Delphi-Quellcode:
   with lbls[i] do begin
    Parent := self;
    Top := <Y>; //Z.B.: i * 10 + 8; Der Y-Abstand => Dynamisch!
    Left := <X>; //Z.B.: 8; Der X-Abstand => Statisch!
    Visble := false;
    Caption := IntToStr(i + 1);
ich krieg es nur hin das die zahlen untereinander stehen. wie kann ich programmieren, dass 9 labels in einer reihe stehen?


-web
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: variable felder, string aufspalten,....

  Alt 6. Mär 2007, 12:10
Hallo,

das Prinzip ist einfach:

Delphi-Quellcode:
function LabelToPoint(lbl: TLabel; index: Integer): TPoint;
const
  MarginLeft = 20;
  MarginTop = 30;
  LabelCols = 9;
  VertGap = 8;
  HorzGap = 8;
begin
  Result := Point(
              MarginLeft - HorzGap + (index mod LabelCols) * (lbl.Width + HorzGap),
              MarginTop - VertGap + (index div LabelCols) * (lbl.Height + VertGap)
            );
end;
Die Konstanten kannst du an deine Bedürfnisse anpassen. Das Ergebnis liefert die Top und Left für Label[i] in Y und X - wenn ich keinen Fehler eingebaut habe.

Grüße vom marabu
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#14

Re: variable felder, string aufspalten,....

  Alt 7. Mär 2007, 11:22
danke für die hilfe. leider geht mein pc in info nicht richtig, also kann ich es erst morgen testen und euch dann weiter mit meiner unwissenheit nerven^^ danke für den tipp, werd's versuchen.
was mir grad noch einfällt: wenn in einem label z.b. 11 stehen hätte.....wie krieg ich es hin dass das in 2 label aufgespalten wird? ich würd das gerne selbst probieren aber ich hab inzwischen wegen den pc-probs richtigen zeitmangel mit meinem projekt.

wenn ich alle labels mit einer bestimmten hintergrundfarbe kopieren und neu einfügen möchte mach ich das über copy, oder?

danke für eure hilfe.


-web
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#15

Re: variable felder, string aufspalten,....

  Alt 7. Mär 2007, 13:10
Zitat von webtiger:
....wie krieg ich es hin dass das in 2 label aufgespalten wird? ...
im Prinzip musst du jetzt nur das anwenden, was z.B. in Beitrag #3 oder #5 geschrieben wurde!
Dafür könntest prüfen, ob der in einen String umgewandelte Wert mehr als eine Stelle hat oder ob der vorherige Integer größer als 9 ist.

Zitat von webtiger:
...ich würd das gerne selbst probieren aber ich hab inzwischen wegen den pc-probs richtigen zeitmangel mit meinem projekt....
Warum arbeitest du nicht ein bisschen zu Hause daran??? Lade dir TurboDelphi, D7 PE, D6 PE oder D2005 PE herunter und probier ein bisschen rum!

Zitat von webtiger:
...wenn ich alle labels mit einer bestimmten hintergrundfarbe kopieren und neu einfügen möchte mach ich das über copy, oder?...
Willst du jetzt doch labels schon im Designer erschaffen? Vorher war doch noch die Rede von einer Erstellung zur Laufzeit!?
Um die Frage zu beantworten, im Prinzip JA, denke ich (wenn ichs richtig verstanden habe, was du vorhast).
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#16

Re: variable felder, string aufspalten,....

  Alt 13. Mär 2007, 10:50
Zitat von TonyR:
Warum arbeitest du nicht ein bisschen zu Hause daran??? Lade dir TurboDelphi, D7 PE, D6 PE oder D2005 PE herunter und probier ein bisschen rum!
danke für den tipp. wusste garnicht das es delphi zum runterladen gibt. danke, werd mir das programm gleich mal als mail schicken und dannzu hause dran arbeiten. danke

Zitat von TonyR:
Willst du jetzt doch labels schon im Designer erschaffen? Vorher war doch noch die Rede von einer Erstellung zur Laufzeit!?
Um die Frage zu beantworten, im Prinzip JA, denke ich (wenn ichs richtig verstanden habe, was du vorhast).
ja, ich will die labels zur laufzeit erstellen und dann sollen sich durch anklicken von 2 bestimmten labels die labels schwarz färben. ich hab da vllt. noch etwas hohe ansprüche dran^^ aber wird schon funzen am ende....


-web
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#17

Re: variable felder, string aufspalten,....

  Alt 15. Mär 2007, 10:13
sry, ich glaub ich bin inzwischen die blödheit in person....
ich krieg das string teilen und in 2 labels ausgeben einfach nicht auf die reihe. ich hab jetzt insgesamt in der prozedur stehen:

Delphi-Quellcode:
procedure tform1.geben;
var
    i : integer;
    s : string;
lbls : array [0..99] of TLabel;
begin
                
with unit2.form2 do begin

for i := 0 to 99 do
begin
  lbls[i] := TLabel.Create (form2); // Das einzelne Label erstellen (Der Besitzter des Labels, ist normalerweise das Formular, und steht in der Varible "self")
  with lbls[i] do begin
    Parent := form2;
    Top := i*19 ; //dynamischer y-abstand
    Left := 19; //statischer x-abstand
    Visible := false;
    Caption := IntToStr(i + 1);
  end;
end;

for i := 0 to z do // labels bis z anzeigen
begin
  lbls[i].Visible := true;
end;
for i := z to 99 do // anderen labels nicht anzeigen
begin
  lbls[i].Visible := false;
end;

if i>9 then begin
   s := inttostr(i);


end;

spielen;

end;
end;
ich kriegs einfach nicht auf die reihe so weiter zu machen das ich die zahlen die größer als 9 sind in 2 benachbarten labels auszugeben. wie mach ich das jetzt am besten?

thx für die ganzen hilfen aber ich kriegs absolut nicht auf die reihe....


-web
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: variable felder, string aufspalten,....

  Alt 15. Mär 2007, 10:44
Hallo,

angenommen du hast deine Labels bereits alle erzeugt und sie stehen in einer TComponentList bereit:

Delphi-Quellcode:
procedure ShowDigits(
  cl: TComponentList; // Liste mit den Labels
  const number: Cardinal; // darzustellende Zahl
  var index: Integer // erster zu verwendender Label
);
var
  s: string;
  i: Integer;
begin
  s := IntToStr(number);
  for i := 1 to Length(s) do
  begin
    TLabel(cl[index]).Caption := s[i];
    Inc(index);
  end;
end;
Getippt und nicht getestet.

Das sind so wenige Zeilen - da solltest du dir einen Zugang erarbeiten können.

Aufmunternde Grüße
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#19

Re: variable felder, string aufspalten,....

  Alt 20. Mär 2007, 20:20
danke
ich hab mein projekt jetzt fertig, muss es morgen vorstellen und abgeben. danke für die ganzen hilfen ich schreib euch dann was bei rausgekommen ist.


-web
  Mit Zitat antworten Zitat
webtiger

Registriert seit: 1. Mär 2007
10 Beiträge
 
#20

Re: variable felder, string aufspalten,....

  Alt 29. Mär 2007, 18:28
nochmal ein dickes thx!
hab auf mein programm 14 punkte, also ne 1 bekommen.
thx an alle!!


-web
  Mit Zitat antworten Zitat
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 16:14 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