URL ins programm einbauen

Alle Fragen zur Netzwerkkommunikation
RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von RSE »

Wenn du noch keinen Plan hast, ist es einfach nicht das Richtige.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Aber ein Taschenrechner ist auch nicht so einfach.
Ich denke die LinkListe ist doch recht einfach.
Und auch für den Anfang kein schlechtes Projekt.

Ich wünsche dir viel erfolg.
MFG
Michael Springwald

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von RSE »

Widerspruch!

Bei einem Taschenrechner oder einer sonstigen simplen Berechnung brauchst du weder Kenntnisse über Units (Einbindung der Utils.pas von Christian), noch brauchst du irgendwas zu Speichern (es sei denn die Links sollen alle fest in den Code geschrieben werden).

Was nifares braucht, ist vor allem ein Tutorial, was von 0 (in Worten: null) anfängt. Da muss auch drinstehen, wie er eine OnClick-Routine für einen TButton anlegt. Sowas wird es speziell für eine Linkliste mit Buttons nicht geben. Für einen Taschenrechner oder ein Benzinverbrauchsprogramm oder sowas schon. Ich hab mir die Links allerdings selbst auch noch nicht angesehen.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von RSE »

Ich mach mal den Versuch eines solchen Tutorials, extra live für dich, nifares. Ich bitte dich, dieses Tutorial durchzuarbeiten und uns mitzuteilen, an welchem Punkt du nicht weiterkommst. Ich bitte weiterhin alle anderen dann sich auf dieses Tutorial zu beziehen.

1. Lege ein neues Projekt an.
Dazu gehst du auf Datei -> neu... und wählst Application.

2. Lege deine Buttons auf die Form.
Die Form ist das Fenster, auf dem deine Anwendung entsteht. Die Buttons findest du oben in der Toolbox auf der Registerkarte Standard, die auch zu Anfang geöffnet sein sollte. Wenn du nur auf die Elemente dort zeigst, steht im Tooltip (kleines gelbes Hinweisfenster), wie die Elemente heißen. Du klickst den TButton an. Dann klickst du auf die Form (dein Programmfenster) und es erscheint ein Button.

3. Ändere den Text auf dem Button.
Dazu gehst du links in den Objektinspektor und suchst in der Registerkarte Eigenschaften links den Wert "Caption". Dort schreibst du rechts rein, womit dein Button beschriftet werden soll. Schreibe dort "Google" rein.

4. Schreibe eine Ereignisbehandlungsroutine.
Mache dazu einen Doppelklick auf den Button auf deiner Form. Damit landest du mitten im Quelltext.

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
 
end;

Dieses Konstrukt ist der Rahmen für deine Ereignisbehandlungsroutine. Alles, was zwischen "begin" und "end;" steht, wird ausgeführt, sobald einer den Button anklickt. Du kopierst also die Zeile "ShellExecute(Handle, 'OPEN', 'http://www.google.de', nil, nil, SW_SHOWNORMAL);" dort hinein. Das Ergebnis sollte dann so aussehen:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle, 'OPEN', 'http://www.google.de', nil, nil, SW_SHOWNORMAL);
end;

Beachte, dass der Befehl ShellExecute um 2 Leerzeichen eingerückt ist, das ist zwar dem Compiler (der Teil von Lazarus, der dir deine EXE erzeugt) egal, dient aber der Übersichtlichkeit.

5. Starte dein Programm.
Drücke dazu einfach F9. Nun wird der Compiler unten folgende Fehlermeldung ausspucken: "Error: Identifier not found "ShellExecute" " Das heißt, dass er den Befehl "ShellExecute" nicht kennt. Du musst dem Compiler also noch mitteilen, wo dieser definiert ist.

6. Füge die Unit Windows zur Uses-Liste hinzu.
Suche dazu im Quelltext ganz oben die Zeile

Code: Alles auswählen

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;

und erweitere sie zu

Code: Alles auswählen

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, Windows;


7. Starte dein Programm.
Drücke dazu wieder F9. Wenn du jetzt auf deinen Button klickst, wird dein Standardbrowser aufgehen und Google anzeigen.

Diese Lösung funktioniert nur unter Windows. Wenn du diesem Tutorial folgen konntest, dann sag Bescheid und wir werden dir erklären, wie du eine eigene Unit einbaust (nämlich die Utils.pas von Christian). Damit ist der Code dann plattformunabhängig.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

nifares
Beiträge: 28
Registriert: Mi 27. Aug 2008, 23:53

Beitrag von nifares »

ja das programm läuft so habe ich mir das vorgestellt und nicht anders,aber alle haben mir geholfen,ich werde mich bissel mit dem programm bissel vertraut machen rum tüfteln

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Beitrag von RSE »

Wenn das so ist, warum hast du nicht von Anfang an gesagt, dass du nicht das Grundsätzlichste weist und bei diversen Anfängertutorien schon an Punkt XY nicht weiterkommst? Dann hätten alle gleich gewusst, woran es liegt und du hättest dir nicht so viele "Feinde" gemacht. Entscheidend ist die Art, wie man die Fragen im Forum stellt.

Hier also wie versprochen der 2. Teil, die Einbindung der Utils.pas.

1. Speichere dein Projekt in einen Ordner deiner Wahl, indem du oben links auf "Alles speichern" klickst.

2. Lade die Utils.pas in dieses Verzeichnis herunter

3. Füge die Utils.pas in dein Projekt ein.
Öffne die Datei mit Lazarus, indem du sie entweder per Drag´n´Drop in den Quelltexteditor schiebst, oder sie mittels Datei -> Öffnen öffnest. Ist die Unit dann im Quelltexteditor aktiv (der ausgewählte Tab ist mit Utils.pas beschriftet), dann gehe auf Projekt -> Datei im Editor ins Projekt aufnehmen.

4. Befehl austauschen.
Tausche nun den Shellexecute-Befehl gegen "OpenBrowser('http://google.de');". Falls OpenBrowser nicht bekannt ist, musst du die uses-Liste wieder anpassen (utils hinzufügen).
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

nifares
Beiträge: 28
Registriert: Mi 27. Aug 2008, 23:53

Beitrag von nifares »

hier der link zu der linkliste
Linkliste Download

Antworten