Entwickler-Ecke
Sonstiges (Delphi) - MessageBox (Yes/No) ohne uses dialogs
Biarchiv - So 20.04.03 11:26
Titel: MessageBox (Yes/No) ohne uses dialogs
Hallo,
Ich versuche ein kleines Program zu schreiben das sehr gut klappt.
Ich habe alle uses rausgelöscht auch forms.
Nur benötige ich jetzt eine MessageDLG mit ja, nein abfrage.
Wo er bei nein exit;
Eine andere Möglichkeit von einer MessageBox?
Habe uses:
Windows, classes, shellapi
Danke..
Lehrling - So 20.04.03 11:33
Hallo,
Aus der WindowsSDK (Begriff: "MessageBox")
Zitat: |
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
); |
mfg Lehrling
Christian S. - So 20.04.03 11:36
Zitat: |
MessageBox(form1.Handle,PChar('Ja oder Nein'),PChar('Test'),MB_YESNO); |
Hilft das?
Rückgabewerte sind dann IDYES oder IDNO.
MfG,
Peter
Christian S. - So 20.04.03 11:36
Schon wieder zu langsam...
FloSch - So 20.04.03 12:09
Peter Lustig hat folgendes geschrieben: |
Zitat: | MessageBox(form1.Handle,PChar('Ja oder Nein'),PChar('Test'),MB_YESNO); | Hilft das? |
Wobei dur dir das PChar (solange du keine Variablen vom Typ String mit einbeziehst) sparen kannst.
Das würde dann so ausssehen:
Quelltext
1:
| MessageBox(form1.Handle,'Ja oder Nein','Test',MB_YESNO); |
Grüße
Florian :roll:
Christian S. - So 20.04.03 12:42
Ups, stimmt. :oops:
Delete - So 20.04.03 14:21
Und TApplication kennt die Methode Messagebox. :wink:
Christian S. - So 20.04.03 14:22
Ja, aber dazu brauchst Du doch die Unit "Forms" und die hat er - wie er sagt - nicht eingebunden!
Delete - So 20.04.03 14:25
Ich bin noch nicht wach und habe noch nichts gegessen. Reicht das als Entschuldigung? :oops:
Christian S. - So 20.04.03 14:26
Du bist hiermit offiziell entschuldigt!
FloSch - So 20.04.03 14:26
*LuckieWachRüttel*
:mahn:
:lol:
Biarchiv - So 20.04.03 17:47
Hallo,
Vielen Dank.
Ja MessageBox hat geholfen.
Biarchiv - So 20.04.03 17:49
Titel: PChar -> String ; String -> PChar
Hallo,
Wie kann ich einen PChar Wert in einen Stringwert oder Integer Wert umwandeln.
Danke
Delete - So 20.04.03 17:52
PChar nach String brauch in der Regel nicht umgewandelt werden, das macht der Kompiler.- Will man es aber sauber machen, macht man einen Cast mit String. PChar nach Interger wie bei Strings auch mit StrToInt und eben noch voreher einen cast mit String.
Christian S. - So 20.04.03 17:55
Hm, Casting-Shows jetzt auch schon im Delphi-Forum? (okay, der war wirklich schlecht, ich weiß ...)
Delete - So 20.04.03 17:57
Peter Lustig hat folgendes geschrieben: |
Hm, Casting-Shows jetzt auch schon im Delphi-Forum? (okay, der war wirklich schlecht, ich weiß ...) |
Aber unterstes Niveau. Da ist ja selbst noch
Zitat: |
Ich mache jetzt keinen Kalauer, da kannst du warten bis du kahl wirst.
|
besser. :mrgreen:
Christian S. - So 20.04.03 17:59
Aber nur ein ganz kleines bisschen! :lol:
shrubman - Sa 20.11.04 12:18
Ich versuche grad mit einer Message Box zu arbeiten aber bekomme das mit der Delphi Hilfe nicht richtig hin ...
Was ist hier dran falsch :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_YESNO): Integer; begin if IDYES=true then begin showmessage('SEX'); end else showmessage('ALKOHOL'); end; |
shrubman - Sa 20.11.04 12:31
ich habs überarbeitet
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| if Length(Label1.Caption)=Length(Wort) then begin with application do begin NormalizeTopMosts; MessageBox('Restart program?', 'Look', MB_YESNO); RestoreTopMosts; if IDYES=true then begin WinExec(pChar(ParamStr(0)),SW_SHOW); Close; end else close; end; end; |
aber bei IDYES=true sagt er inkompatible typen
herzi - Sa 20.11.04 12:55
MessageBox gibt dir als Rückgabewert IDYes/IDNo. Das hast du im Code nicht zugewiesen!!
Also
Quelltext
1: 2: 3:
| if MessageBox(Handle,'Restart program?', 'Look', MB_YESNO)=IDYes then begin end; |
AXMD - Sa 20.11.04 13:01
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if Length(Label1.Caption) = Length(Wort) then begin with application do begin NormalizeTopMosts; case MessageBox('Restart program?', 'Look', MB_YESNO) of ID_YES: WinExec(pChar(ParamStr(0)),SW_SHOW); else Close; end; end; end; |
AXMD
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!