Basic Synthaxfehler Else/Endif ohne if

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: Basic Synthaxfehler Else/Endif ohne if

Re: Basic Synthaxfehler Else/Endif ohne if

von achimgr » Do, 13.02.2014 17:42

Danke sehr balu! Werde loslegen.

Re: Basic Synthaxfehler Else/Endif ohne if

von balu » Do, 13.02.2014 17:41

Hallo Achimgr,
das ist ja klasse.
Freut mich sehr :D.

Wie rufe ich aber einen "fertiggebastelten" Dialog1 auf?
Ein erstellter dialog wird per ".execute" ausgeführt.

Code: Alles auswählen

	DialogLibraries.loadLibrary("Standard")
	oMonatAuswaehlen = CreateUnoDialog(DialogLibraries.Standard.AuswahlMonat)

[...]

	oMonatAuswaehlen.execute
Dazu sind mindestens die ersten zwei zitierten Code-Zeilen erforderlich, um dann die letzt zitierte Zeile auszuführen.

Dieses Makro besteht aus vielen Zeilen, wird damit erst der Dialog "Auswahl Monat" kreiert?
Nein! Der Dialog ist schon fix und fertig. Er wird per Makro-Code aufgerufen.

ich verstehe es nicht.
Dann solltest Du dich erstmal DRINGEND mit StarBasic allgemein befassen, bevor Du dich an Dialoge ranwagst. Denn wenn Du nicht die Grundfunktionen verstehst, hast Du auch keine Chance als Anfänger mit den Dialogen voranzukommen. Deshalb schau dir das hier mal an: Informationen zur StarBasic-Programmierung
Und natürlich den Link von Karolus.



Gruß
balu

Re: Basic Synthaxfehler Else/Endif ohne if

von Karolus » Do, 13.02.2014 17:36

Re: Basic Synthaxfehler Else/Endif ohne if

von achimgr » Do, 13.02.2014 17:12

Hallo balu,
das ist ja klasse.
Wie rufe ich aber einen "fertiggebastelten" Dialog1 auf?

Dein Button Eingabe führt das Makro EingabeDialog aus. Dieses Makro besteht aus vielen Zeilen, wird damit erst der Dialog "Auswahl Monat" kreiert?
Allesdings ist dieser Dialog ja auf dem nächsten Reiter "AuswahlMonat". ich verstehe es nicht.

Gibt es nicht auch die Möglichkeit wie zB "Show.Dialog1" oder so.

Re: Basic Synthaxfehler Else/Endif ohne if

von balu » Mi, 12.02.2014 19:21

Hallo Marcel,

als erstes zur Info.
Das hier

Code: Alles auswählen

CompatibilityMode(True)
CompatibilityMode(false)
wird nur benötigt um

Code: Alles auswählen

FormatDateTime
anwenden zu können. Wenn Du nicht mit FormatDateTime arbeitest, kann also CompatibilityMode wegbleiben.


Ich habe jetzt keine Lust irgendwie das nachzuforschen was das mit dem Fehler auf sich hat. Und deshalb zeige ich dir mal meine Idee wie ich das machen würde. Ich verfolge da ein ganz anderes Konzept als Du.

In meiner Beispieldatei klickst Du im Tabellenblatt "Formular_aufrufen" auf den Button "Eingabe".

Jetzt erscheint ein kleiner Dialog wo Du NUR den Monat auswählen kannst, oder Abbrechen. Der dortige Button "Weiter" wird erst dann aktiv (freigeschaltet), wenn Du einen Monatsnamem ausgewählt hast.

Rechts neben der Namensliste für die Monate ist eine Farbliste, nein(!) die kann nicht angewählt werden, die anzeigt welche Farben den Monatsnamen zugeordnet sind. Und wenn Du einen Monat ausgewählt und auf Weiter geklickt hast, dann kommt der Dialog den Du schon aus einer früheren Version kennst. Er ist diesmal aber ein klein wenig geändert, was unschwer am oberen Teil zu sehen ist.

Dort wird der Monatsname mit einer anderen Farbe dargestellt, und zwar mit der Farbe die Du auf dem vorigen Dialog gesehen hast. Und diese Farbe ist auch in den Tabellenblättern in den Zellen A1 bis E2 zu sehen. Ferner werden auch die Tabellenreiter eingefärbt.

Wenn Du also einen Monat ausgewählt hast, dann werden nach einem klick auf "Eintragen" die Daten in den dementsprechenden Monat, sprich Tabellenblatt eingetragen. Anschließend werden die Zeitfelder gelöscht. Dann kann man entweder weitere Zeiten eintragen, oder diesen Dialog beenden.


Falls dir dies konzept gefällt, dann sag bescheid, und ich schau mal was ich noch machen könnte.




Gruß
balu
Dateianhänge
vereinfachte-Arbeitszeiterfassung_neu-1.0.ods
(18.01 KiB) 99-mal heruntergeladen

Re: Basic Synthaxfehler Else/Endif ohne if

von Marce Cz » Di, 11.02.2014 20:10

Else GoSub Hilfe
da soll der Fehler sein;(

Basic Synthaxfehler Else/Endif ohne if

von Marce Cz » Di, 11.02.2014 19:57

hallo leute,
Wo liegt im folgenden makro mein fehler?

Code: Alles auswählen

Sub EingabeDaten
	CompatibilityMode(True)	
	
	DialogLibraries.loadLibrary("Standard")
	oDialogDatenEingabe = CreateUnoDialog(DialogLibraries.Standard.DlgDatenEingabe)
	
	oMonat = oDialogDatenEingabe.getControl("TextField1")
		If oMonat = "Januar" Then GoSub EingabeJanuar
			Else GoSub Hilfe
		Endif 
				
	oDialogDatenEingabe.execute
	
	CompatibilityMode(false)
	
End Sub

Sub Hilfe
	GoTo EingabeDaten
End Sub

Sub EingabeJanuar
	CompatibilityMode(True)	
	
	DialogLibraries.loadLibrary("Standard")
	oDialogJanuar = CreateUnoDialog(DialogLibraries.Standard.DlgJanuar)
	
	oDatum = oDialogJanuar.getControl("DateField1")
	oBlatt = ThisComponent.sheets.getByName("Januar")
	oDialogJanuar.execute
	CompatibilityMode(false)
End Sub

Nach oben