AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

variable felder, string aufspalten,....

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

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

variable felder, string aufspalten,....

  Alt 1. Mär 2007, 07:57
hi
ich arbeite zur zeit an einem infoprojekt und könnte etwas hilfe gebrauchen^^
also....ich hab eine globale variable z vom typ integer. die wird auf formular 1 eingegeben. z muss zwischen 10 und 100 liegen und ungerade sein. soweit funktioniert alles wunderbar.
jetzt möchte ich das jede zahl von 1 bis z in einem extra feld ausgegeben wird (bin mir noch nicht ganz sicher ob ich besser ein label oder statictext nehmen sollte?). mein problem ist ich weiß nicht wie ich das am besten mache. die zahlen sollten dabei in ziffern aufgespalten werden. also das z.b. bei 13 nicht ein feld mit 13 drin dasteht sondern ein feld mit 1 und ein feld mit 3.

wär total nett wenn ihr mir sagen könntet wie ich das am besten auf die reihe kriege. ich hab delphi 7 falls das wichtig sein sollte.

danke im voraus


-web
  Mit Zitat antworten Zitat
guidobrose
(Gast)

n/a Beiträge
 
#2

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

  Alt 1. Mär 2007, 08:03
Du könntest die Zahl in einen String umwandeln (brauchts du wahrscheinlich sowieso, um sie als Text ausgeben zu können) und den String dann mittels der Funktion "copy" in seine Teile zerlegen. Geht vielleicht auch einfacher, aber nur mal als Vorschlag.

Edit:

Du kannst auch direkt auf ein Zeichen eines Strings zugreifen, in der Art:
Delphi-Quellcode:
MeinStringMitDerZahlDrin:=IntToStr(MeineZahl);
Label1.Caption:=MeinStringMitDerZahlDrin[1];
Das entspräche dann dem ersten Zeichen in dem String.


Guido
  Mit Zitat antworten Zitat
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#3

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

  Alt 1. Mär 2007, 08:09
kleines Schnippsel, was du dir dann zurechtbiegen könntest

Delphi-Quellcode:
  s := inttostr(zahl); // s ist eine Stringvariable
  for i := 1 to length(s) do
    label1.caption := label1.caption + s[i]+' ';
Macht nichts anderes, als die einzelnen Ziffern einer Zahl in ein Label zu schreiben...

Edit: komische Formatierung...
Richard Mahr
  Mit Zitat antworten Zitat
webtiger

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

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

  Alt 1. Mär 2007, 08:19
also....das hab ich grad ausprobiert...danke für den hinweis
aber mein prob ist noch....wie krieg ich das prog dazu mir alle zahlen von 1 bis z auszugeben? bis jetzt krieg ich immer nur z raus....bin noch immer für jede hilfe dankbar^^ (sry, blutiger anfänger.....)


[edit] btw....aber eigentlich ist mein problem nicht die zahlen in ein label zu kriegen sondern in einzelne. ich glaub in einem label kann ich die danach nicht gut weiterverwenden. ich habe auch überlegt ein array zu erstellen. geht das überhaupt mit einer variable? [/edit]
-web
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 1. Mär 2007, 08:24
Delphi-Quellcode:
if TryStrToInt( s, z) then
    for i := 1 to z do
       s2 := s2 + IntToStr(i) + ' ';
[Edit: in einzelnen Labels:]
Delphi-Quellcode:
   with TLabel.Create( Form) do
   begin
       Parent = Form;
       left := i*20;
       Top := 100;
       Name := 'Label'+IntToStr(i);
       Caption := IntToStr(i);
   end;
[/Edit]
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

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

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

  Alt 1. Mär 2007, 08:35
Hallo,

da bei z = 99 nicht gut alle Zahlen in einer Zeile angezeigt werden können, zielt alles auf eine zweidimensionale Darstellung hin. Dabei könnte die Komponente TStringGrid (Palettenseite "Zusätzlich") ganz hilfreich sein.

Grüße vom marabu
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 1. Mär 2007, 08:41
Hallo Achim,
du hast natürlich recht, wir das das auch bewußt, der Code sollte ihm aber zum Verständnis reichen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

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

  Alt 1. Mär 2007, 11:03
Also möchtest du jede Zahl in ein Label schreiben (von 1 bis z) oder nur in ein Label (1, 2, 3 ... z)?
Für das 1.:
Zuerst brauchst du die Labels... Am besten in ein Array, dann sind die einfacher zu erreichen:
Delphi-Quellcode:
var
  lbls : array [0..99] of TLabel;
Nun musst du sie beim Anzeigen der Form erstellen:
Delphi-Quellcode:
for i := 0 to 99 do
begin
  lbls[i] := TLabel.Create(<Besitzter>); // Das einzelne Label erstellen (Der Besitzter des Labels, ist normalerweise das Formular, und steht in der Varible "self")
  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);
  end;
end;
Diese musst du nun passend Anzeigen:
Delphi-Quellcode:
for i := 0 to z do // Alle Labels anzeigen, bis "z"
begin
  lbls[i].Visible := true;
end;
for i := z + 1 to 99 do // Den Rest ausblenden
begin
  lbls[i].Visible := false;
end;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
webtiger

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

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

  Alt 4. Mär 2007, 16:07
danke für eure hilfe. leider kann ich die guten tipps erst am di in der schule testen wenn ich info hab. aber werdet sicher noch ne menge delphi-verzweiflung von mir zu hören kriegen^^

@xZise: ich möchte jede zahl in ein Label schreiben. und eigentlich sollten zweistellige zahlen noch aufgeteilt werden so das am ende in jedem label wirklich nur eine ziffer steht.


-web
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

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

  Alt 4. Mär 2007, 16:19
Zitat von webtiger:
@xZise: ich möchte jede zahl in ein Label schreiben. und eigentlich sollten zweistellige zahlen noch aufgeteilt werden so das am ende in jedem label wirklich nur eine ziffer steht.
Du weist schon wie viel arbeit das sein wird? ~170 Labels
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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