Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ping, Drucken,mit schleife Label,Edit ect."Hochzählen" (https://www.delphipraxis.net/88336-ping-drucken-mit-schleife-label-edit-ect-hochzaehlen.html)

Joscha 14. Mär 2007 09:25


Ping, Drucken,mit schleife Label,Edit ect."Hochzählen&q
 
Hallo,
wie oben schon zu sehen hab ich ein paar Fragen.
1. In einer Schleife soll bei jedem durch gang das nächste label und edit nehmen um das dem nächsten Array zugewisen. Also z.b.
Code:
 repeat label1.caption:=test[a]; Edit1.text:=test2[a]; inc (a); until (a=6)
Jetzt wird zwar das array hochgezählt aber nicht label1 und edit1. Geht das ohne Label1-6 und edit1-6 vorher einem Arrayzuzuweisen? Ich hoffe es ist verständlich was ich meine.

2. Ich würde gern ein Label ausdrucken. Gibt es da vll ein Tutorial?

3.Und nun zum Pingen ich hab folgendes mit der Suche gefunden
http://www.delphipraxis.net/internal...ct.php?t=65912
Brauch ich da noch irgendetwas? Oder gibt es inzwischen etwas einfacheres? Es soll nur die Ip eingegeben und die Ping zeit ausgegeben werden. Oder kann man vll die Befehle für die Windows Console irgendwie beutzen. So das die Ping zeit zurück gegeben wird?

Also schon mal Danke für eure mühe. :)

Der_Unwissende 14. Mär 2007 10:06

Re: Ping, Drucken,mit schleife Label,Edit ect."Hochzähl
 
Hi und erstmal herzlich Willkommen in der DP :dp:

Gleich zwei kleine Hinweise vorweg, versuche lieber einen Thread pro Frage zu verwenden. Das macht es einfacher für die Leute zu sehen, auf was für ein Problem sie hier treffen und antworten. Jmd. der Dir bei Problem A hilft, kann von B keine Ahnung haben. Kommen dann überschneidende Antworten (mal zu A mal zu B), dann ist keinem geholfen und keiner weiß noch wer worauf antwortet.
Dann auch noch zu den Code-Tags, ist natürlich schonmal super, dass Du dieses gefunden und verwendet hast! Aber für Delphi gibt es hier sogar noch speziellere Tags (auch für C). Dieses findest Du unter dem Namen Delphi Code. Du kannst natürlich auch direkt delphi und /delphi in eckige Klammern setzen. Der Vorteil ist, dass die Syntax dann hervorgehoben wird.

Ja, was dein erstes Problem angeht, so gibt es hier einen Alternativen Weg. Der ist allerdings nicht wirklich schön. Du kannst einfach die FindComponent Methode verwenden. Diese gibt Dir ein TComponent-Objekt zu einem gegebenen Namen zurück (soweit es eine Komponente mit dem entsprechenden Namen gibt).
Allerdings ist die Methode natürlich mit immens mehr Overhead verbunden, da hier über alle Namen iteriert wird, bis Du die Komponente findest. Schneller und vielleicht auch schöner ist es, wenn Du hier ein Array verwendest.
Was Dir vielleicht schon weiterhilft, man kann natürlich auch Controls (wie Labels) einfach in einer Schleife erzeugen. Die so erzeugten Controls kannst Du natürlich gleich in ein Array schreiben. I.d.R. werden eh fast alle Eigenschaften auf den gleichen Wert gesetzt. Allein die Position ändert sich hier, allerdings mit einer gewissen Regelmässigkeit, die Du leicht in Abhängigkeit einer Variable setzen kannst.

Ja, zu 2 hab ich dann auch nichts zu sagen (wie gesagt lieber zweiter Thread, ist auch nach den Forenregeln erwünscht).

Gruß Der Unwissende

bitsetter 14. Mär 2007 21:09

Re: Ping, Drucken,mit schleife Label,Edit ect."Hochzähl
 
Hallo,

zu deinem Punkt 2: Label ausdrucken

Mit einem Tutorial kann ich zwar nicht dienen aber mit ein bisschen Code:

Delphi-Quellcode:
uses Printers;

Procedure LabelDrucken(Lab: TLabel; iLeft, iTop: integer);
begin
  printer.begindoc;
  iLeft:= iLeft* 10;
  iTop:= iTop* 10;
  printer.Canvas.CopyRect(Rect(iLeft, iTop, iLeft+ Lab.Width* 10, iTop+ Lab.Height* 10), Lab.Canvas, Rect(0, 0, Lab.Width, Lab.Height));
  printer.enddoc;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin                //Position auf dem Blatt
  LabelDrucken(label1, 20, 40);
end;
Der Code ist nicht mit einem Drucker getestet worden.

In der Code-Lib steht auch noch was zum Thema drucken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:25 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