Inputbox (Auswahl) ohne Enter drücken

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Inputbox (Auswahl) ohne Enter drücken

Re: Inputbox (Auswahl) ohne Enter drücken

von balu » Mo, 30.01.2012 22:46

Hallo Reginald,
Wenn ich deine Beispieldatei verwende, klappt es.
Ist ja auch logisch, da alles vorhanden ist was vorhanden sein muss.

Wenn ich den Code in eine Datei von mir kopiere, meckert er in der Zeile ...
Auch das ist logisch, denn Du übersiehst da etwas.

Was ist dieses "Dialog1" Teil? Habe das nirgens gefunden.
Sorry, aber mach mal deine Augen auf (net bös gemeint)!
Wenn Du in der IDE bist, also dort wo man den Code eintippt, dann siehst Du in der Beispieldatei nicht nur das Makro im "Module1", sondern auch noch einen Reiter mit dem Namen "Dialog1". Und genau dieser Dialog fehlt dir in deiner eigenen Datei. Du musst jetzt in deiner Datei einen eigenen Dialog erstellen, rechtsklick auf den Reiter wo dein Makrocode sich befindet und dann
-> Einfügen
---> Baic Dialog
auswählen. Nun musst Du die einzelnen Elemente in deinem eigenen Dialog erstellen.

Oder aber eine simplere Art.
In der Beispieldatei den Dialog exportieren, und in deiner Datei dann wiederum importieren. Die dazu nötigen Button findest Du in der Symbolleiste.

Hilft dir das jetzt schon mal etwas weiter?



Gruß
balu

Re: Inputbox (Auswahl) ohne Enter drücken

von Reginald » Mo, 30.01.2012 19:37

Hallo Frieder und Hotti,

vielen Dank für die Antworten!

Der Dialog von Frieder gefällt mir am besten. Ich weise das Makro einem Tastaturbefehl zu, z. B. Strg + D und kann dann mit einem Tastendruck (1, 2, 3) auswählen. Das ist der effektiveste und schnellste Weg - mittels Tastatur.

Man klickt sich mit der Maus (rechte Hand) durch eine Tabelle durch und macht mit der Tastatur (linke Hand) die Auswahlen.

Muß schnell gehen. Das ist das Kriterium.

Eine Frage bleibt noch: Wenn ich deine Beispieldatei verwende, klappt es. Wenn ich den Code in eine Datei von mir kopiere, meckert er in der Zeile oDlg1=CreateUnoDialog(DialogLibraries.Standard.Dialog1) mit "BASIC runtime error. Property or method not found: Dialog1"

Was ist dieses "Dialog1" Teil? Habe das nirgens gefunden.


Grüße,
Reginald

Re: Inputbox (Auswahl) ohne Enter drücken

von hr.hartwig » So, 29.01.2012 17:54

Hallo!
Wenn es nicht unbedingt eine Inputbox sein muß,
würden sich da nicht besser Optionbuttons eignen?
(Siehe Anhang.)
Viele Grüße,
Hotti
Dateianhänge
Optionbutton_Auswahl.ods
(11.88 KiB) 99-mal heruntergeladen

Re: Inputbox (Auswahl) ohne Enter drücken

von Frieder D. » So, 29.01.2012 12:54

Hallo Reginald

Das kannst du mit einem Dialog erreichen.
Der Dialog enthält ein Beschriftungsfeld, wo du Text anzeigen lassen kannst,
und ein Textfeld.
Zuerst musst du den Dialog Initialisieren und starten.
Das Textfeld ist mit dem Ereignis " Text modifiziert " mit einem Makro verknüpft, dass die Textbox ausließt, und den Dialog beendet.3

Code: Alles auswählen

Global oDlg1 As object 'Globale variable für Dialog
Sub start_Dialog1 
  DialogLibraries.LoadLibrary("Standard") 'Dialog Bibliothek einbinden
  oDlg1=CreateUnoDialog(DialogLibraries.Standard.Dialog1) 'dialog holen
  'Anzeige-Text Setzen
  oDlg1.getControl("Label1").setText ("Wählen Sie aus "& Chr(10) & _
                                      "1 für ja,   2 für nein   oder   3 vielleicht" )

  on error resume next
  'dialog Ausführen
  oDlg1.Execute(True)
End Sub
'------------------------------------
Sub Get_Textfild_Text 
dim sVal As String
  oDlg1.EndExecute 'dialg beenden
  sVal= oDlg1.getControl("TextField1").getText 'Text aus textfeld holen
  Select Case sVal
   Case 1
      msgbox ("Jetzt tritt Fall 1 auf")
   Case 2
      msgbox ("Jetzt Fall 2")
   Case 3
      msgbox ("Jetzt Fall 3")
   Case Else
     start_Dialog1 'dialog erneut starten, falls falsche auswahl genommen wurde
  End Select
end Sub
Du kannst das selbe aber auch mit einer simplen MsgBox erreichen:

Code: Alles auswählen

sub Test_MsgBox
Dim nVal as Integer
  nVal =MsgBox ("Bitte wählen" ,3,"Auswahl")
  Select Case nVal
    Case 6
      MsgBox "Es wurde Ja gedrückt"
    Case 7
      MsgBox "Es wurde Nein gedrückt"
    Case 2
      MsgBox "Es wurde Abbrechen gedrückt" 
  End Select  
end sub
Ich habe dir hier mahl eine Beispieldatei erstellt:
Dialog_Beispiel.ods
(11.45 KiB) 122-mal heruntergeladen
Gruß Frieder

Inputbox (Auswahl) ohne Enter drücken

von Reginald » Sa, 28.01.2012 19:44

Hallo,

ich will eine Art inputbox haben wo - zum Beispiel - steht:

Wählen Sie
1 - für blaues Auto
2 - für Waschmaschine
3 - für Schokoladentafel


Bei der Inputbox muß ich ja immer noch Enter drücken anschließend. Das ist zu umständlich. Es muß schnell gehen. Ein Tastendruck und nicht mehr.

Ideen?

Ich arbeite mich gerade in OOBasic ein, und unten ein Testmakro dazu. Habe ein spezielles Problem, das ich lösen muß.

Grüße
Reginald

Code: Alles auswählen

Antwort = inputbox("Wählen Sie aus      1 für ja,   2 für nein   oder   3 vielleicht")
'msgbox Antwort
iAntwort = CInt(Antwort)

Select Case iAntwort
	Case 1
		msgbox ("Jetzt tritt Fall 1 auf")
	Case 2
		msgbox ("Jetzt Fall 2")
	Case 3
		msgbox ("Jetzt Fall 3")
End Select

Nach oben