Countdown und noch weitere Fragen

ig-schlafsack

Grünschnabel
Hi!
Als Erstes will ich sagen, dass ich ein blutiger Anfänger in Sachen Delphi bin... (noch ^^).
Ich hoffe daher ihr könnt mir in irgendeiner Form weiterhelfen, die ich verstehe.
Ich bin ein Programm am basteln, dass, nachdem eine eingegebene Zeit abgelaufen ist, eine vorher eingegebene Homepage aufruft. Dafür hab ich mir schon mal ein paar Sachen aus dem Internet zusammengewürfelt. Das funktioniert in einer Hinsicht schon.
Hier mein erster Versuch:

<quote>
unit TForm;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, shellapi;

type
TForm1 = class(TForm)
Button1: TButton;
EdStunden: TEdit;
LbAufgabe: TLabel;
EdMinuten: TEdit;
TiCounter: TTimer;
LbStundenMinuten: TLabel;
LbCounterSt: TLabel;
LbCounterMin: TLabel;
EdURL: TEdit;
procedure Button1Click(Sender: TObject);
procedure TiCounterTimer(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
Minuten, Stunden, Counter: real;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
Stunden := StrToFloat(EdStunden.Text);
Minuten := StrToFloat(EdMinuten.Text);
EdStunden.Color := clMedGray;
EdMinuten.color := clMedGray;
LbCounterSt.Visible := true;
LbCounterMin.Visible := true;
TiCounter.Enabled := true;
EdStunden.ReadOnly := true;
EdStunden.ReadOnly := true;

end;


procedure TForm1.TiCounterTimer(Sender: TObject);
begin

If EdStunden.Text = ' '
then EdStunden.Text := '1';

If (Minuten = 0) and (Stunden > 0)
then begin
Minuten := 60;
Stunden := Stunden -1;
end;

If (Stunden = 0) and (Minuten = 0)
then begin
TiCounter.enabled := false;
ShellExecute(handle,NIL,'http://www.t-online.de', NIL, NIL, SW_SHOWNORMAL);
end
else Minuten := Minuten -1;

LbCounterSt.Caption := FloatToStr (Stunden);
LbCounterMin.Caption := FloatToStr (Minuten);
end;

end.
</quote>

Dieses T-Online is nur mal ein Beispiel.
So nun möchte ich dieses aber irgendwie so machen, dass sich die Adresse, die ich vorher in
EdURL eingegeben habe dann öffnet. Nur hab ich keine Ahnung wie das gehen soll (Bestimmt einfach).
Außerdem habe ich noch das Problem, dass beim Start des Programms die Aktion direkt ausgeführt wird. Das soll aber erst nach dem ablauf der Zeit geschehen.
Als Zweites hab ich noch vor, dass ich noch zwei Extraeingabefelder mache, wo ich eingeben kann, in wie viel Minutenabständen eine andere Homepage aktualisiert wird.

Ich würde mich sehr über einen Lösungsvorschlag von euch freuen!

MfG
schlafsack
 
Wie viel von dem Quelltext hast du denn verstanden? Wo liegen deine Probleme. Du schreibst ja selbst, dass du dir alles aus dem Internet gesucht hast. Aber dabei lernt man nicht die Sprache zu verstehen, sondern höchstens wie man kopiert und einfügt.
Prinzipiell möchte ich versuchen, verständliche Antworten zu geben:

Zum "URL aus Edit öffnen". Du übergibst dem ShellExecute ja als Parameter einen sog. String (Zeichenkette), in der die URL steht. Genauso kannst du auf das Editfeld zugreifen, der String, der darin steht, wird mit edit.text angesprochen.

Wenn die Seite gleich geöffnet wird, liegt das daran, dass die Abfragen nicht greifen, weil die Bedingungen nicht stimmen. Da solltest du noch mal schauen, zum Beispiel: Welchen Wert haben bestimmte Variablen? Was passiert, wenn die Timer-Prozedur aufgerufen wird? Wie oft wird sie aufgerufen (Intervall richtig einstellen!)...

Und was ist das mit der anderen Homepage? Praktisch alles noch mal? Dann musst du noch einen zweiten Countdown runterzählen, und wenn der bei 0 ist, muss die andere Seite aufgerufen werden.

Ich hoffe, ich konnte dir helfen... Bitte frage, wenn dir irgendetwas nicht klar ist.
lg Hellie
 
Also, ich persönlich würde dafür plädieren, dass die Moderatoren solche Beiträge sofort *löschen*. In anderen Foren wird das auch strenger gehandhabt. Dieses Forum wird so zugesaut mit Beiträgen, die nur deswegen gepostet werden, weil der- oder diejenige zu faul zum Suchen und/oder Selbermachen ist, dass man nach wirklich angebrachten und intelligenten Fragen, bei denen man auch was lernt, regelrecht mit der Lupe suchen muss. Das Forum dreht sich zu einem Großteil nur noch darum, den Leuten ihre Hausaufgaben zu machen. Sorry Kameraden, ich finds zum K**.

-Gawayn
 
Wäre ja nicht schlimm, wenn er nicht in anderen Delphi-Foren genau den gleichen Beitrag geposted hätte, ohne Antworten abzuwarten. Anfänger zu sein, ist okay, zu fragen auch, aber Musterlösungen für komplexe Probleme und ganze Programme sollte man nicht verlangen. Aber ich dachte, eine Chance sollte man jedem geben. (Hab leider später erst den Beitrag im anderen Forum gefunden).

Stimme Gawayn also diesmal zu :)

lg Hellie

PS: Bin auch für Löschen, weil ich denke, dass der Threadstarter sich nicht mehr melden wird, da in einem speziellen Delphi-Forum die Frage beantwortet wurde.
 
Ich finde es auch völlig ok, Anfänger zu sein. Ganz im Gegenteil, ich finde es ja toll, wenn jemand tatsächlich interessiert ist, mitarbeitet und sich bemüht, etwas zu lernen. Aber genau das tun ja all jene nicht, die einfach nur uns hier irgendwelchen Code hinknallen, noch dazu mies formatiert, oder mit so Kloppern aufwarten nach dem Motto "ich will ein Betriebssystem proggen, weiß aber nicht, wie ich in Pascal eine Variable anlege, wer sagt mir wie's geht". Ich und auch andere haben mittlerweile so oft und immer wieder die korrekte Arbeitsweise und das Nutzen der Hilfefunktion gepredigt, dass es auch mal genug sein muss. Da erübrigt sich doch jede Antwort, das ist ein Fall für die Tonne.

Das hier sollte eigentlich eine COMMUNITY sein, keine Shoutbox à la heise.de oder RTL!

Mein Aufruf an die Administration: Bessere inhaltliche Kontrolle, damit hier wenigstens ein Mindestmaß Niveau einzieht.

-Gawayn
 

Neue Beiträge

Zurück