BASIC Beispiel-Code für Zugriff auf ein Feld gesucht

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

egerlach
****
Beiträge: 107
Registriert: Fr, 13.10.2006 20:21

BASIC Beispiel-Code für Zugriff auf ein Feld gesucht

Beitrag von egerlach »

Ich habe mit OO-Base ein Formular mit einem Subformular. Das Fomular hat nur ein Feld, das ist der Filter für das Subformular. Jetzt will ich den aktuellen Filter auslesen (in meinem Bsp) eine Zahl. Hat mir jmd ein Beispiel für ein solches BASIC-Skript?
Ziel ist übrigens, daß der BASIC-Code eine Text-Datei im Dateisystem erstellt, dabei soll dann der Inhalt des Filter mitverarbeitet werden.

Gruss
Eckard
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Eckard,
Hat mir jmd ein Beispiel für ein solches BASIC-Skript?
Na ja, deine Angaben sind halt ein wenig "dünn"...
Was möchtest du jetzt hören? ein Codebeispiel?

Code: Alles auswählen

dim meineZahl as double, oForm as object, oCtr as object
oForm = thisComponent.forms.getByName("Standard")  'das Formular
oCtr = oForm.getByName("meinZahlenfeld")   'das Kontrollfeld (Zahl)
meineZahl = oCtr.value    'der Inhalt
msgbox meineZahl
Und, bringt dich das wirklich weiter? Dein Formular (Hauptformular ) hat hier den Namen "Standard", dein Zahlenfeld den Namen "meinZahlenfeld"

Ich empfehle dir mal das Base-Buch aus dem Galileo-Verlag oder das Makrobuch - jeweils als Grundlagenlektüre :-)

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
egerlach
****
Beiträge: 107
Registriert: Fr, 13.10.2006 20:21

Beitrag von egerlach »

Danke! Habe mal probiert:

Code: Alles auswählen

Sub Main
dim meineZahl as double, oForm as object, oCtr as object

oForm = thisComponent.forms.getByName("MainForm")  'das Formular
oCtr = oForm.getByName("plzfeld")   'das Kontrollfeld (Zahl)
meineZahl = oCtr.value    'der Inhalt
msgbox meineZahl
End Sub
Und BASIC meldet: BASIC-Laufzeitfehler! Eigenschaft oder Methode nicht gefunden.
und bleibt im Codefenster auf thisComponent.forms.getByName("MainForm") stehen.

Ich bin über so einen Fehler bisher noch nicht rübergekommen. Im Formular Navigator steht:
Formulare

Code: Alles auswählen

 - Main Form 
         -Sub Form
              Sub Form Grid
              TextBox 
               [...]
         ABC
         #plzfeld
         PushButton
Habe genau die Namen genommen wie dort angegeben: MainForm für das Hauptformular und plzfeld für das Feld mit der Zahl. Dann Start des BASIC-Skriptes mit dem Push-Button. Warum der BASIC-Fehler?

Gruss
Eckard
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Eckard,

wie heisst dein Formular genau?

"MainForm" oder "Main Form"? Das sind zwei unterschiedliche Begriffe.

Im Übrigen müsste der Aufruf lauten:

Code: Alles auswählen

oForm = thisComponent.drawpage.forms.getByName("MainForm")  'das Formular 
Die Drawpage hatte ich wohl auch vergessen. Sorry.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten