Autor |
Beitrag |
D. Annies
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Mi 13.02.13 20:51
Hi, Delpher,
kann man die Abfrage genau "umdrehen"?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TBuchMain.Button40Click(Sender: TObject); begin datatransfer := false; if (label30.Caption <> label38.Caption) then begin if messagedlgpos('Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270) = mrYes then begin datatransfer := true; Unterverzeichnissystem(self); messagedlgpos('Datentransfer beginnt, ' + #13+ 'von Ort: ' + label38.Caption + #13+ 'nach Ort: ' + label30.caption, mtInformation, [mbOk], 0,380,270); screen.Cursor := crno; FindFiles(label38.Caption, '*.*', true); screen.Cursor := crdefault; messagedlgpos('Datentransfer beendet', mtInformation, [mbOk], 0,580,270); end end else label6.Caption := 'Arbeitssitzung - Intern/Stick'; |
Ich meine damit, dass mbNo voreingestellt ist, oder die Logik sich genau anders verhält - ich möchte nämlich
mit RETN weiterblättern und nicht jedesmal den Tab bemühen, o. ä.
Vielen Dank für eine Idee,
Detlef Moderiert von Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 14.02.2013 um 13:15
_________________ ut vires desint, tamen est laudanda voluntas
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 13.02.13 20:57
Hallo,
warum drehst Du die Frage nicht herum, z.B.
Delphi-Quelltext 1: 2: 3: 4: 5:
| if messagedlgpos('Keinen Datentransfer durchführen?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270) = mrNo then begin ... |
oder so ähnlich.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mi 13.02.13 21:28
D. Annies hat folgendes geschrieben : | Ich meine damit, dass mbNo voreingestellt ist |
MessageDlgPos hat noch einen weiteren Parameter.
Delphi-Quelltext 1: 2:
| if messagedlgpos('Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270, mbNo) = mrYes then |
Irgendwie klappt das nicht mit dem Hervorheben. "0,580,270, mbNo"
Für diesen Beitrag haben gedankt: D. Annies
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 14.02.13 09:19
Bei MessageBox klappt das hervorragend.
Delphi-Quelltext 1: 2:
| if MessageBox(0, 'Festplatte wirklich formatieren?', 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then Tschuess; |
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Do 14.02.13 11:50
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 14.02.13 12:34
Sry, falsch verstanden. Andererseits bevorzuge ich persönlich MessageBox, weil MessageDlg so ein "selbstgepinseltes VCL-Gedöns" ist, während MessageBox von Windows kommt und sich deshalb optisch an das OS anpasst. Aber es kann natürlich jeder benutzen, was er will.
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Do 14.02.13 13:29
WasWeißDennIch hat folgendes geschrieben : | Aber es kann natürlich jeder benutzen, was er will. |
Das sehe ich genauso. Da ich es hasse, wenn zusätzlich zum Hauptformular noch weitere Fenster auf dem Desktop herumfliegen, benutze ich TLMDFormDisplay, um weitere Formulare in dieser Komponente auf dem Hauptformular anzuzeigen. MessageBoxen (Sicherheitsabfragen usw.) werden auf dem Hauptformular auf einem zusätzlichen Panel angezeigt, das bei Bedarf ein- oder ausgeblendet werden kann.
Auf dem Bild in der Anlage wird es deutlich, wie ich das mache.
Einloggen, um Attachments anzusehen!
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 14.02.13 20:27
Danke für eure Antworten. MessageBox kannte ich noch nicht, aber ich habe bei meinem Versuch auch noch
einen Fehler:
Delphi-Quelltext 1: 2:
| if MessageBox(0, 'Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then |
H e l p ...  )
Detlef
_________________ ut vires desint, tamen est laudanda voluntas
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Do 14.02.13 20:55
Delphi-Quelltext 1: 2:
| if MessageBox(0, PChar('Datentransfer starten?'+ sLineBreak + 'von '+label38.Caption + sLineBreak + 'nach '+label30.caption), 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then |
Für diesen Beitrag haben gedankt: D. Annies
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 14.02.13 22:40
Danke für eure Mithilfe!
Jetzt suche ich weitere Stellen, um diese gute Logik einzubinden ...
Bis denne,
Detlef
_________________ ut vires desint, tamen est laudanda voluntas
|
|
|