AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi 1 button mehrere befehle nacheinander
Thema durchsuchen
Ansicht
Themen-Optionen

1 button mehrere befehle nacheinander

Ein Thema von Hereafter · begonnen am 17. Aug 2007 · letzter Beitrag vom 17. Aug 2007
Antwort Antwort
Hereafter

Registriert seit: 16. Aug 2007
5 Beiträge
 
#1

1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 12:36
hi leute

bin wie gesagt noch n blutiger anfänger und deshalb sry dass ich euch mit solchen fragen nerven muss(wird vermutlich öfter vorkommen weil unserer lehrer net erklären kann ).

naja hab folgende kleines problem(die ergebniss zur suche hier im forum betrugen immer ca.500-3000^^):
ich wollte einem button beim ersten klicken eine funktion zuweisen(einen anderen text anzeigen).hat geklappt , läuft prima.
nun soll bei einem 2. klicken der text stehen bleiben und ein externes programm ausgeführt werden(wie das geht weiss ich).
aber ich weiß net wie ich den 2. befehl einfügen soll.

könnt euch den code ja mal anschauen.ich benutze delphi 2005 personal.

würde mich über antwrten sehr freuen.
thx im vorraus

mfg Hereafter

code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);

    private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Visible:=false;
memo2.Visible:=true;

winexec('C:\WINDOWS\explorer.exe', SW_SHOWNORMAL);
end;
end.
und weiter gehts!!!!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 12:39
Schau dir nochmal den Inhalt der geposteten Datei an! Wir bräuchten schon die entpsrechende Unit.

Edit: Laut der DPR wäre es dann Unit1.pas
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 12:41
es würde helfen, wenn du den fraglichen Code hier postest. Die Arbeit das Projekt runterzuladen und zu suchen, ist wohl deutlich größer, als dir den Fehler zu sagen.

eine Möglichkeit wäre z.B. eine Zählervariable zu nehmen und damit zu zählen, wie oft der Button geklickt wurde und dann eine einfache If-Abfrage einbauen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 12:41
Wenn ich das richtig verstanden habe, ist das doch eine einfache Verzweigung. Alles was Du noch brauchst, ist ein Kriterium zur Unterscheidung, ob der Button bereits einmal angeklickt wurde. Das kann eine Bool' sche Variable sein oder etwa der geänderte Text, sofern dieser eindeutig ist. Mal in Pseudo-Delphi:
Delphi-Quellcode:
if Kriterium then
  Machwas1
else
  Machwas2;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hereafter

Registriert seit: 16. Aug 2007
5 Beiträge
 
#5

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:01
so hba nu rausbekommen wie man den code postet sry^^.
hab aba ken plan wie ich an dieses kriterium herankommen soll oder wie das aussehen muss...
und wie zähle ich wie oft der button geklickt wurde?
und weiter gehts!!!!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#6

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:05
Das musst Du selber als Variable des Formulars deklarieren.

z.B.
Delphi-Quellcode:
private
  FKlickAnzahl: Integer;
Im Create-Event des Formulars musst Du die dann initialisieren. Also FKlickAnzahl := 0;

Im ButtonClick-Event fragst Du dann ab:
Delphi-Quellcode:
if FKlickAnzahl = 0 then
begin
  // tu was beim ersten Klick
  Inc(FKlickAnzahl); // Erhöhe Klickanzahl
end
else if KlickAnzahl = 1 then
begin
  // tu was beim zweiten Klick
  Inc(FKlickAnzahl); // Erhöhe Klickanzahl
end
else
begin
  // tu was beim letzten klick
  FKlickAnzahl := 0; // wieder zurücksetzen
end;
Oder so ähnlich...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:06
Ich habe mal eine Variable "WasClicked" eingeführt.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    private
    { Private-Deklarationen }
    WasClicked: Boolean;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  WasClicked := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if WasClicked then
    winexec('C:\WINDOWS\explorer.exe', SW_SHOWNORMAL)
  else
    begin
      memo1.Visible:=false;
      memo2.Visible:=true;
    end;
  WasClicked := true;
end;

end.
P.S.: WinExec sollte man nicht mehr benutzen, da veraltet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:15
Ich würde mal sagen, bevor du (wie angedroht) noch weitere solche Fragen stellst: Hier gibts ein paar Crashcourse.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Hereafter

Registriert seit: 16. Aug 2007
5 Beiträge
 
#9

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:40
nu werfen sich mir neue fragen auf :wie benutze ich denn dann sachen wie shellexec oder createprogres?
wie bekomme ich den/das create-event des formulars in den quellcode(bei buttons un so geht das ja mit doppelklick)?

und von den tutorials hab ich mir schon n paar angeschaut war aba nich das richtige drin

trotzdem schonmal vielen dank an alle
und weiter gehts!!!!
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

Re: 1 button mehrere befehle nacheinander

  Alt 17. Aug 2007, 13:43
neue Frage => Neuer Thread
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:58 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