Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch - RESOLVED @ 6.4.7

2020-09-10 Diskussionsfäden OoOHWHOoO

Zur Information:

Bug 136032 - Basic Compiler Bug - incorrect syntax error message - Print 
#iNumber,"#"


https://bugs.documentfoundation.org/show_bug.cgi?id=136032#c5

Viele Grüße
Hans-Werner :-))
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch - RESOLVED @ 7.0.2

2020-09-07 Diskussionsfäden OoOHWHOoO

Zur Information

Auf Grund der heutigen "RESOLVED FIXED"-Bestätigung wird die 
Fehlerbehebung bereits in LO 7.0.2 verfügbar sein:


https://bugs.documentfoundation.org/show_bug.cgi?id=136032#c4

Viele Grüße
Hans-Werner :-))
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch - DailyBuild OKAY

2020-09-07 Diskussionsfäden OoOHWHOoO

Zur Information:

Ich habe mal eben das "DailyBild 
LibreOfficeDev_7.1.0.0.alpha0_Win_x64.msi" (inklusive 
"LibreOfficeDev_7.1.0.0.alpha0_Win_x64_helppack_de.msi") vom 
"2020-Sep-07 02:47" via "Separate Install GUI" parallel installiert und 
das Makro (in dieser leicht modifizierten Form bezüglich der Ausgabe)


Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim aFile As String
aFile = "c:\data.txt" ' May be necessary to be modified !
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "#" & "- O.K."
Print #iNumber,"#" & " - Incorrect syntax error message !!!"
Print #iNumber, "A#B" & " - O.K."
Print #iNumber,"A#B" & " - Incorrect syntax error message !!!"
Print #iNumber, "AB" & " - O.K."
Print #iNumber,"AB" & " - O.K."
Close #iNumber
End Sub

ausgeführt mit diesem Ergebnis in "c:\data.txt":

#- O.K.
# - Incorrect syntax error message !!!
A#B - O.K.
A#B - Incorrect syntax error message !!!
AB - O.K.
AB - O.K.

Damit ist die Behebung des Fehlers eindeutig dargelegt, da auch die 
"Incorrect syntax error message"-Code-Zeilen keinen Syntax-Error 
bewirkten:


https://bugs.documentfoundation.org/show_bug.cgi?id=136032#c3

Viele Grüße
Hans-Werner :-))

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch - RESOLVED @ 7.1.0

2020-09-06 Diskussionsfäden Hans-Werner Herold

Zur Information:

https://bugs.documentfoundation.org/show_bug.cgi?id=136032#c2

Grüße
Hans-Werner :-))
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-23 Diskussionsfäden OoOHWHOoO

Guten Morgen Gerhard und *,

Bug-Report ist geschrieben:

Basic Compiler Bug - incorrect syntax error message - Print #iNumber,"#"

https://bugs.documentfoundation.org/show_bug.cgi?id=136032

Schönen Sonntag noch,
viele Grüße
Hans-Werner :-))

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden OoOHWHOoO

Hallo Gerhard,

für den BUG-Report hatte ich jetzt eben noch mit der englischen Variante 
von LO 7.0.0.3 (x64) getestet, damit ich die Fehlermeldung in Englisch 
erhalte und auch das Makro aus der LO-Hilfe für "Open" kopiert und 
entsprechend modifiziert.


In diesem Makro steht  Print #iNumber, "This is a line of text"  . Ich 
ersetzte die Zeichenkette "This is a line of text"  durch "#", startete 
das Makro und "rieb mir verwundert die Augen" - KEINE FEHLERMELDUNG !


Das Leerzeichen nach dem "," reichte schon aus !!!

In der Syntax-Beschreibung ist aber kein Leerzeichen nach dem "," 
vorgeschrieben


Print [#filenum,] expression1[{;|,} [Spc(number As Integer);] [Tab(pos 
As Integer);] [expression2[...]]


und in anderen Konstellationen ohne weiteres "#" außer bei dem 
"#iNumber" auch nicht notwendig.


So kann ich den Bug-Report mit dem nachfolgenden Makro noch etwas 
präziser formulieren:


Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim aFile As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "#" ' O.K.
'Print #iNumber,"#" ' ERROR
Print #iNumber, "A#B" ' O.K.
'Print #iNumber,"A#B" ' ERROR
Print #iNumber, "AB" ' O.K
Print #iNumber,"AB" ' O.K
Close #iNumber
End Sub

Hier die umfangreichere Variante, falls Du nochmals testen möchtest:

Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim aFile As String
Dim VarDouble#
Dim VarSingle!
VarDouble# = 0.123123
VarSingle! = 0.123
aFile = "E:\TMP\Output.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, VarDouble# ' O.K.
'Print #iNumber,VarDouble# ' ERROR
Print #iNumber, "#" ' O.K.
'Print #iNumber,"#" ' ERROR
Print #iNumber, "A#B" ' O.K.
'Print #iNumber,"A#B" ' ERROR
Print #iNumber,VarSingle! ' O.K.
Close #iNumber
End Sub

Viele Grüße
Hans-Werner :-))

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden Gerhard Weydt

Hallo Hans-Werner,

Am 22.08.2020 um 18:36 schrieb OoOHWHOoO:

Hallo Gerhard,

"[...] dass wohl alles ohne das Zeichen funktioniert. [...]" stimmt 
mittlerweile (nach weiteren Test meinerseits) nicht mehr.
Dein jetziger Test beweist das aber nicht! Denn hier liegt ein Problem 
des Print-Befehls mit dem # allgemein vor (weil das # dem Datenkanal 
vorangestellt werden muss?), das hat also nichts speziell mit dem 
Typ-Deklarationszeichen zu tun. Das ist also kein Gegenbeispiel für 
meine Aussage, die ich im Übrigen nicht beschwören kann, es sieht halt 
bloß bisher so aus.


Um das angehängte "#" als Typ-Deklarationszeichen geht es gar nicht 
mehr, sondern:


Wenn im "Ausdruck" für "Print" ein "#" vorkommt, dann MUSS im 
"Ausdruck" für "Print " irgendwo vor dem "#" ein " " sein, ansonsten 
gibt's eine Syntaxfehler-Fehlermeldung:


Sub Print_To_Output
Dim VarDouble#
Dim Pfad_Datei As String
Dim Datenkanal As Integer
VarDouble# = 0.123123
Pfad_Datei = "E:\TMP\Output.txt"
Datenkanal = Freefile
Open Pfad_Datei For Output As #Datenkanal
Print #Datenkanal," VarDouble# = ",VarDouble# ' O.K.
'Print #Datenkanal,"VarDouble# = ",VarDouble# ' ERROR
Print #Datenkanal," ABC#DEF" ' O.K.
Print #Datenkanal,"AB C#D EF" ' O.K.
Print #Datenkanal," ","ABC#DEF" ' O.K.
'Print  #Datenkanal,"ABC#DEF" ' ERROR
'Print #Datenkanal,"ABC#D EF" ' ERROR
Close #Datenkanal
End Sub

Wenn das kein BasicCompiler-Fehler ist ...
Das würde ich auch so sehen, aber eben für den Print-Befehl, der das 
problem mit # hat, egal, ob es hinter der Variablen hängt oder in einem 
String steckt.
Mit dem Typ-Deklarationszeichen selbst hat es nicht zu tun, wie der 
abgewandelte Befehl aus deinem Test zeigt:

Print #Datenkanal,"VarDouble# = ",VarDouble# ' ERROR
Print #Datenkanal,"VarDouble = ",VarDouble# ' kein ERROR
Das Problem ist offenbar, wie du schon erkannt hast, dass ein 
Leerzeichen benötigt wird. Vielleicht wird sonst # noch zu dem 
Datenkanal gezählt, aber das Komma sollte als Trennzeichen ausreichen.
Falls du einen Bug-Report schreibst, würde ich als Hauptargument den 
String nehmen.


Viele Grüße
Gerhard


Viele Grüße
Hans-Werner :-))



-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 22.08.2020 15:51:04
Betreff: Re: [de-users] Makro Basic - Ausgabe in Datei - 
DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch



Hallo Hans-Werner,

wenn etwas bei Pitonyak steht, ist es deshalb auch nicht besser 
begründet als bei den anderen Quellen, die du genannt hast, auch 
beschreibt das, was er feststellen konnte und nicht, was er selbst 
aus dem Compiler-Code ermittelt hätte; ich bin mir ziemlich sicher, 
dass ich eine entsprechende Aussage von ihm selbst einmal gelesen 
habe. Ob die ursprüngliche Idee war, dass das ürzel nach dem 
eigentlichen Namen dazugehört oder nur für die Deklaration gebraucht 
wird, können wir kaum entscheiden, für letzteres spricht aber die 
Tasache, dass wohl alles ohne das Zeichen funktioniert.
Und auch der folgende Text zu Microsofts Visual Basic geht in die 
gleiche Richtung:


In addition to specifying a data type in a declaration statement, you 
can force the data type of some programming elements with a /type 
character/. The type character must immediately follow the element, 
with no intervening characters of any kind.


The type character is not part of the name of the element. An element 
defined with a type character can be referenced without the type 
character.


Wenn man das Ende wörtlich nehmen darf, dann ist die Hinzufügung des 
Kürzels erlaubt, aber nicht nötig. In diesem Sinn wäre natürlich die 
Fehlermeldung bei der Double-Variable ein Fehler, aber mir geht es 
wie dir, ich mag diese Kürzel nicht und verwende sie nicht, ich weiß 
auch nicht recht, warum sie eingeführt wurden, vielleicht noch zu 
Lochkartenzeiten, wo man dann weniger Karten brauchte, so wie das 
Unterbringen mehrerer Befehle in einer Zeile durch die Trennung mit 
dem Doppelpunkt?


Was mich betrifft, würde ich es nicht für nötig halten, das als 
Fehler zu melden.


Viele Grüße

Gerhard



Am 22.08.2020 um 15:23 schrieb OoOHWHOoO:

Hallo Gerhard,

so wie's ausschaut, hat das "Print" (und auch das "Write") - 
beziehungsweise der Compiler - beim "Print"/"Write" in eine Datei 
"sein Kreuz mit dem Doppelkreuz" ;-)) ...


Völlig unabhängig von einer Double-Variablen der Art "VarDouble#":

Im Zusammenhang mit "#" muss das erste Zeichen in der auszugebenden 
Zeichenkette ein " " (Leerzeichen) sein.


Fehlt dieses Leerzeichen, meldet der Compiler den Syntax-Fehler 
"Unzulässiger Wert oder Datentyp.Datentypen unverträglich." !


Sub Print_To_Output
Dim Pfad_Datei As String
Dim Datenkanal As Integer

Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden OoOHWHOoO

Hallo Gerhard,

"[...] dass wohl alles ohne das Zeichen funktioniert. [...]" stimmt 
mittlerweile (nach weiteren Test meinerseits) nicht mehr.


Um das angehängte "#" als Typ-Deklarationszeichen geht es gar nicht 
mehr, sondern:


Wenn im "Ausdruck" für "Print" ein "#" vorkommt, dann MUSS im "Ausdruck" 
für "Print " irgendwo vor dem "#" ein " " sein, ansonsten gibt's eine 
Syntaxfehler-Fehlermeldung:


Sub Print_To_Output
Dim VarDouble#
Dim Pfad_Datei As String
Dim Datenkanal As Integer
VarDouble# = 0.123123
Pfad_Datei = "E:\TMP\Output.txt"
Datenkanal = Freefile
Open Pfad_Datei For Output As #Datenkanal
Print #Datenkanal," VarDouble# = ",VarDouble# ' O.K.
'Print #Datenkanal,"VarDouble# = ",VarDouble# ' ERROR
Print #Datenkanal," ABC#DEF" ' O.K.
Print #Datenkanal,"AB C#D EF" ' O.K.
Print #Datenkanal," ","ABC#DEF" ' O.K.
'Print  #Datenkanal,"ABC#DEF" ' ERROR
'Print #Datenkanal,"ABC#D EF" ' ERROR
Close #Datenkanal
End Sub

Wenn das kein BasicCompiler-Fehler ist ...

Viele Grüße
Hans-Werner :-))



-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 22.08.2020 15:51:04
Betreff: Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable 
via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch



Hallo Hans-Werner,

wenn etwas bei Pitonyak steht, ist es deshalb auch nicht besser begründet als 
bei den anderen Quellen, die du genannt hast, auch beschreibt das, was er 
feststellen konnte und nicht, was er selbst aus dem Compiler-Code ermittelt 
hätte; ich bin mir ziemlich sicher, dass ich eine entsprechende Aussage von ihm 
selbst einmal gelesen habe. Ob die ursprüngliche Idee war, dass das ürzel nach 
dem eigentlichen Namen dazugehört oder nur für die Deklaration gebraucht wird, 
können wir kaum entscheiden, für letzteres spricht aber die Tasache, dass wohl 
alles ohne das Zeichen funktioniert.
Und auch der folgende Text zu Microsofts Visual Basic geht in die gleiche 
Richtung:

In addition to specifying a data type in a declaration statement, you can force 
the data type of some programming elements with a /type character/. The type 
character must immediately follow the element, with no intervening characters 
of any kind.

The type character is not part of the name of the element. An element defined 
with a type character can be referenced without the type character.

Wenn man das Ende wörtlich nehmen darf, dann ist die Hinzufügung des Kürzels 
erlaubt, aber nicht nötig. In diesem Sinn wäre natürlich die Fehlermeldung bei 
der Double-Variable ein Fehler, aber mir geht es wie dir, ich mag diese Kürzel 
nicht und verwende sie nicht, ich weiß auch nicht recht, warum sie eingeführt 
wurden, vielleicht noch zu Lochkartenzeiten, wo man dann weniger Karten 
brauchte, so wie das Unterbringen mehrerer Befehle in einer Zeile durch die 
Trennung mit dem Doppelpunkt?

Was mich betrifft, würde ich es nicht für nötig halten, das als Fehler zu 
melden.

Viele Grüße

Gerhard



Am 22.08.2020 um 15:23 schrieb OoOHWHOoO:

Hallo Gerhard,

so wie's ausschaut, hat das "Print" (und auch das "Write") - beziehungsweise der Compiler - beim 
"Print"/"Write" in eine Datei "sein Kreuz mit dem Doppelkreuz" ;-)) ...

Völlig unabhängig von einer Double-Variablen der Art "VarDouble#":

Im Zusammenhang mit "#" muss das erste Zeichen in der auszugebenden Zeichenkette ein 
" " (Leerzeichen) sein.

Fehlt dieses Leerzeichen, meldet der Compiler den Syntax-Fehler "Unzulässiger Wert 
oder Datentyp.Datentypen unverträglich." !

Sub Print_To_Output
Dim Pfad_Datei As String
Dim Datenkanal As Integer
Pfad_Datei = "E:\TMP\Output.txt"
Datenkanal = Freefile
Open Pfad_Datei For Output As #Datenkanal
Print #Datenkanal," #"
Close #Datenkanal
End Sub

Einen kleinen Hinweis, dass das "#" bei Print/Write in eine Datei "eine besondere 
Rolle spielt" könnte eine Textpassage bei Pitonyak liefern, wobei die internen Zusammenhänge 
völlig im Dunkeln liegen, da muss man schon den Compiler-SourceCode kennen:

8.8. Daten aus einer Datei lesen und in eine Datei schreiben
Um Daten in Dateien zu schreiben oder aus Dateien zu lesen, die im Modus Random 
oder Binary geöffnet wurden, verwenden Sie die Anweisungen Put und Get. Für 
jeden anderen Modus verwenden Sie die Anweisungen Line Input, Print und Write. 
Wenn keine Eingabedaten angegeben sind, wird eine Leerzeile in die Datei 
geschrieben. Die Anweisung Write akzeptiert mehrere Argumente zur Eingabe und 
fügt beim Schreiben automatisch Trennzeichen ein. In der Datei werden die 
Eingabeausdrücke voneinander durch Kommas getrennt, Zeichenketten werden in 
doppelte Anführungszeichen gesetzt, Zahlen werden nicht gekennzeichnet, und 
Datums- sowie boolesche Werte werd

Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden Gerhard Weydt

Hallo Hans-Werner,

wenn etwas bei Pitonyak steht, ist es deshalb auch nicht besser 
begründet als bei den anderen Quellen, die du genannt hast, auch 
beschreibt das, was er feststellen konnte und nicht, was er selbst aus 
dem Compiler-Code ermittelt hätte; ich bin mir ziemlich sicher, dass ich 
eine entsprechende Aussage von ihm selbst einmal gelesen habe. Ob die 
ursprüngliche Idee war, dass das ürzel nach dem eigentlichen Namen 
dazugehört oder nur für die Deklaration gebraucht wird, können wir kaum 
entscheiden, für letzteres spricht aber die Tasache, dass wohl alles 
ohne das Zeichen funktioniert.
Und auch der folgende Text zu Microsofts Visual Basic geht in die 
gleiche Richtung:


In addition to specifying a data type in a declaration statement, you 
can force the data type of some programming elements with a /type 
character/. The type character must immediately follow the element, with 
no intervening characters of any kind.


The type character is not part of the name of the element. An element 
defined with a type character can be referenced without the type character.


Wenn man das Ende wörtlich nehmen darf, dann ist die Hinzufügung des 
Kürzels erlaubt, aber nicht nötig. In diesem Sinn wäre natürlich die 
Fehlermeldung bei der Double-Variable ein Fehler, aber mir geht es wie 
dir, ich mag diese Kürzel nicht und verwende sie nicht, ich weiß auch 
nicht recht, warum sie eingeführt wurden, vielleicht noch zu 
Lochkartenzeiten, wo man dann weniger Karten brauchte, so wie das 
Unterbringen mehrerer Befehle in einer Zeile durch die Trennung mit dem 
Doppelpunkt?


Was mich betrifft, würde ich es nicht für nötig halten, das als Fehler 
zu melden.


Viele Grüße

Gerhard



Am 22.08.2020 um 15:23 schrieb OoOHWHOoO:

Hallo Gerhard,

so wie's ausschaut, hat das "Print" (und auch das "Write") - 
beziehungsweise der Compiler - beim "Print"/"Write" in eine Datei 
"sein Kreuz mit dem Doppelkreuz" ;-)) ...


Völlig unabhängig von einer Double-Variablen der Art "VarDouble#":

Im Zusammenhang mit "#" muss das erste Zeichen in der auszugebenden 
Zeichenkette ein " " (Leerzeichen) sein.


Fehlt dieses Leerzeichen, meldet der Compiler den Syntax-Fehler 
"Unzulässiger Wert oder Datentyp.Datentypen unverträglich." !


Sub Print_To_Output
Dim Pfad_Datei As String
Dim Datenkanal As Integer
Pfad_Datei = "E:\TMP\Output.txt"
Datenkanal = Freefile
Open Pfad_Datei For Output As #Datenkanal
Print #Datenkanal," #"
Close #Datenkanal
End Sub

Einen kleinen Hinweis, dass das "#" bei Print/Write in eine Datei 
"eine besondere Rolle spielt" könnte eine Textpassage bei Pitonyak 
liefern, wobei die internen Zusammenhänge völlig im Dunkeln liegen, da 
muss man schon den Compiler-SourceCode kennen:


8.8. Daten aus einer Datei lesen und in eine Datei schreiben
Um Daten in Dateien zu schreiben oder aus Dateien zu lesen, die im 
Modus Random oder Binary geöffnet wurden, verwenden Sie die 
Anweisungen Put und Get. Für jeden anderen Modus verwenden Sie die 
Anweisungen Line Input, Print und Write. Wenn keine Eingabedaten 
angegeben sind, wird eine Leerzeile in die Datei geschrieben. Die 
Anweisung Write akzeptiert mehrere Argumente zur Eingabe und fügt beim 
Schreiben automatisch Trennzeichen ein. In der Datei werden die 
Eingabeausdrücke voneinander durch Kommas getrennt, Zeichenketten 
werden in doppelte Anführungszeichen gesetzt, Zahlen werden nicht 
gekennzeichnet, und Datums- sowie boolesche Werte werden zwischen 
Doppelkreuze (#) gesetzt. Zahlen mit Dezimaltrennzeichen werden gemäß 
dem eingestellten Gebietsschema konvertiert.


https://www.uni-due.de/~abi070/count.php?id=OOME_3_0_deutsch.pdf

Warum bei dem "Print", wenn nicht in eine Datei, das "Warnung"-Symbol 
verbunden mit dem Text "Warnung" ausgegeben wird, ist nicht nach 
vollziehbar, denn es passiert auch bei dem sehr einfachen Beispiel in 
der "LibreOffice Hilfe":


Sub ExamplePrint
Print "ABC"
Print "ABC","123"
i = FreeFile()
Open "C:\Temp.txt" For Output As i
Print #i, "ABC"
Close #i
End Sub

Grüße
Hans-Werner :-))




--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden OoOHWHOoO

Hallo Gerhard,

so wie's ausschaut, hat das "Print" (und auch das "Write") - 
beziehungsweise der Compiler - beim "Print"/"Write" in eine Datei "sein 
Kreuz mit dem Doppelkreuz" ;-)) ...


Völlig unabhängig von einer Double-Variablen der Art "VarDouble#":

Im Zusammenhang mit "#" muss das erste Zeichen in der auszugebenden 
Zeichenkette ein " " (Leerzeichen) sein.


Fehlt dieses Leerzeichen, meldet der Compiler den Syntax-Fehler 
"Unzulässiger Wert oder Datentyp.Datentypen unverträglich." !


Sub Print_To_Output
Dim Pfad_Datei As String
Dim Datenkanal As Integer
Pfad_Datei = "E:\TMP\Output.txt"
Datenkanal = Freefile
Open Pfad_Datei For Output As #Datenkanal
Print #Datenkanal," #"
Close #Datenkanal
End Sub

Einen kleinen Hinweis, dass das "#" bei Print/Write in eine Datei "eine 
besondere Rolle spielt" könnte eine Textpassage bei Pitonyak liefern, 
wobei die internen Zusammenhänge völlig im Dunkeln liegen, da muss man 
schon den Compiler-SourceCode kennen:


8.8. Daten aus einer Datei lesen und in eine Datei schreiben
Um Daten in Dateien zu schreiben oder aus Dateien zu lesen, die im Modus 
Random oder Binary geöffnet wurden, verwenden Sie die Anweisungen Put 
und Get. Für jeden anderen Modus verwenden Sie die Anweisungen Line 
Input, Print und Write. Wenn keine Eingabedaten angegeben sind, wird 
eine Leerzeile in die Datei geschrieben. Die Anweisung Write akzeptiert 
mehrere Argumente zur Eingabe und fügt beim Schreiben automatisch 
Trennzeichen ein. In der Datei werden die Eingabeausdrücke voneinander 
durch Kommas getrennt, Zeichenketten werden in doppelte 
Anführungszeichen gesetzt, Zahlen werden nicht gekennzeichnet, und 
Datums- sowie boolesche Werte werden zwischen Doppelkreuze (#) gesetzt. 
Zahlen mit Dezimaltrennzeichen werden gemäß dem eingestellten 
Gebietsschema konvertiert.


https://www.uni-due.de/~abi070/count.php?id=OOME_3_0_deutsch.pdf

Warum bei dem "Print", wenn nicht in eine Datei, das "Warnung"-Symbol 
verbunden mit dem Text "Warnung" ausgegeben wird, ist nicht nach 
vollziehbar, denn es passiert auch bei dem sehr einfachen Beispiel in 
der "LibreOffice Hilfe":


Sub ExamplePrint
Print "ABC"
Print "ABC","123"
i = FreeFile()
Open "C:\Temp.txt" For Output As i
Print #i, "ABC"
Close #i
End Sub

Grüße
Hans-Werner :-))

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-22 Diskussionsfäden OoOHWHOoO

Guten Morgen Gerhard,

ich danke Dir für Dein Feedback. Ich habe mal noch etwas recherchiert 
und widersprüchlichen Umgang von Variablen mit Typ-Deklarationszeichen 
festgestellt:


[1] https://de.libreoffice.org/ [Hilfe] [Handbücher] [Kurzanleitungen] 
[Makroprogrammierung]


+ 
http://wiki.documentfoundation.org/images/8/82/Makroprogrammierung_V41.odt
+ 
http://wiki.documentfoundation.org/images/6/63/Makroprogrammierung_V41.pdf


Beispielsweise Seite 14: "Dim iSystem%"  und später nur "iSystem = 
GetGUIType"


[2] Dannenhöfer

Ebenso wie [1] !

http://www.dannenhoefer.de/faqstarbasic/WelcheVariablentypengibtes.html#Zweig82

[3] Pitonyak

Nicht wie [1] und [2] !

https://www.uni-due.de/~abi070/count.php?id=OOME_3_0_deutsch.pdf

Seite 38 - Listing 13. Demonstration von Double-Variablen.

Sub ExampleDoubleType
Dim GallonsUsed As Double, Miles As Double, mpg#
GallonsUsed = 17.3
Miles = 542.9
mpg# = Miles / GallonsUsed
Print " Benzinverbrauch = " & mpg#
End Sub

[4] Bei [1] und [2] wird das Typ-Deklarationszeichen bei der Verwendung 
der Variablen im Makro-Code weggelassen, bei [3] nicht.


[5] Das Problem tritt nur bei DoubleVar# auf, nicht aber bei 
IntegerVar%, SingleVar!, CurrencyVar@ und StringVar$:


Sub Print_To_File

Dim Datei As String
Dim KanalNr As Integer

Dim IntegerVar%
Dim SingleVar!
Dim CurrencyVar@
Dim StringVar$
Dim DoubleVar#

IntegerVar% = 123
SingleVar! = 1.23
CurrencyVar@ = 1.23
StringVar$ = "ABC"
DoubleVar# = 1.23

Datei = "E:\TMP\HWH.txt" ' Gegebenenfalls anpassen !
KanalNr = Freefile

Open Datei For Output As #KanalNr

Print #KanalNr,"IntegerVar% = " & IntegerVar% ' OKAY
Print #KanalNr,"SingleVar! = " & SingleVar! ' OKAY
Print #KanalNr,"CurrencyVar@ = " @ ' OKAY
Print #KanalNr,"StringVar$ = " & StringVar$ ' OKAY
Print #KanalNr,"DoubleVar = " & DoubleVar ' OKAY
'Print #KanalNr,"DoubleVar# = " & DoubleVar# ' Syntaxfehler-Meldung  des 
Compilers: "Unzulässiger Wert oder Datentyp.Datentypen unverträglich."


Close #KanalNr

[6] Dass dies ein Compiler-Fehler und kein Ablauf-Fehler ist, kann man 
auch daran erkennen, dass [Ausführen][Übersetzen] schon zu der 
Übersetzungs-Fehlermeldung "Unzulässiger Wert oder Datentyp.Datentypen 
unverträglich." führt (Syntaxfehler).


[7] Ob das Angehängte Typ-Deklarationszeichen Bestandteil des 
Variablennamen ist ? Ich denke schon. Zum einen wegen [3] und zum 
anderen deshalb, weil die Typ-Deklarationzeichen %, !, @ und $ keinerlei 
Problem machen, nur eben # - das ist meiner Meinung schon ein "starker" 
Hinweis auf einen Fehler des Compilers, der beim Kompilieren der 
Makro-Zeile "Print #KanalNr,"DoubleVar# = " & DoubleVar#" einen 
Syntax-Fehler meldet - was er nicht tun sollte.


[8] Mit der LibreOffice-API bin ich nur bis dahin 
https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1reflection_1_1TypeDescriptionManager.html#details 
gekommen und dann wusste ich nicht mehr weiter Hinweise zum 
Typ-Deklarationzeichen zu finden  ...


Viele Grüße
Hans-Werner :-))

PS

Nur ergänzend:

Ich persönlich halte Typ-Deklaration der Art "angehängtes Zeichen" ( % ! 
@ $ # ) oder "vorangestelltes Zeichen" ( DefBool DefDate DefDbl DefInt 
DefLng DefObj DefVar ) für "GEMURKSE" aus der Zeit, als man in FORTRAN 
noch die EQUIVALENCE-Anweisung ( 
https://craftofcoding.wordpress.com/2020/01/14/fortran-re-engineering-equivalence-statements-i/) 
 nutzte und bin deshalb ein "Anhänger" von:


Option Explicit

Dim IntegerVar As Integer
Dim StringVar As String
Dim ObjectVar As Object
:
:
:

Auf diese Art der Typ-Deklaration (angehängtes Zeichen) bin ich nur beim 
Test meines "CodeColorizerBasic"-Makros gestoßen um mit einem kleinen 
Makro (s.o.) zu überprüfen, ob der reguläre Ausdruck zum Färben des 
angehängten Typ-Deklarationszeichens alles "richtig macht" - tut er ;-)) 
...



-- Originalnachricht --
Von: "Gerhard Weydt" 
An: users@de.libreoffice.org
Gesendet: 22.08.2020 00:12:18
Betreff: Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable 
via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch



Hallo Hans-Werner,

ich kann dir bestätigen, dass die Fehlermeldung kommt. Allerdings denke ich, 
dass du da etwas falsch verstehst, meiner Meinung nach ist das # nicht 
Bestandteil des Variablennamens, sondern nur ein Kürzel bei der Deklaration. 
Wenn man den problematischen Befehl ohne # verwendet (Print 
#KanalNr,DoubleVar1), wird die Datei ordentlich geschrieben.
Es kommt übrigens eine Warnmeldung, die den Wert der Variablen ausgibt, die 
nicht aus deinem Code stammt, der bin ich nicht nachgegangen; da sie zweimal 
kommt, also auch bei dem nicht beanstandeten Befehl, sollte das eine andere 
Ursache haben.

Herzlichen Gruß
Gerhard

Am 21.08.2020 um 21:01 schrieb OoOHWHOoO:

Sub Print

Re: [de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-21 Diskussionsfäden Gerhard Weydt

Hallo Hans-Werner,

ich kann dir bestätigen, dass die Fehlermeldung kommt. Allerdings denke 
ich, dass du da etwas falsch verstehst, meiner Meinung nach ist das # 
nicht Bestandteil des Variablennamens, sondern nur ein Kürzel bei der 
Deklaration. Wenn man den problematischen Befehl ohne # verwendet (Print 
#KanalNr,DoubleVar1), wird die Datei ordentlich geschrieben.
Es kommt übrigens eine Warnmeldung, die den Wert der Variablen ausgibt, 
die nicht aus deinem Code stammt, der bin ich nicht nachgegangen; da sie 
zweimal kommt, also auch bei dem nicht beanstandeten Befehl, sollte das 
eine andere Ursache haben.


Herzlichen Gruß
Gerhard

Am 21.08.2020 um 21:01 schrieb OoOHWHOoO:

Sub Print_DoubleVar_To_File

Dim Datei As String
Dim KanalNr As Integer

Dim DoubleVar1#
Dim DoubleVar2 As Double

DoubleVar1# = 0.123456789
DoubleVar2 = DoubleVar1#

Print DoubleVar1# ' OKAY
Print DoubleVar2 ' OKAY

Datei = "E:\TMP\HWH.txt" ' Gegebenenfalls anpassen !
KanalNr = Freefile

Open Datei For Output As #KanalNr

Print #KanalNr,DoubleVar2 ' OKAY
'  Print #KanalNr,DoubleVar1# ' ERROR "Unzulässiger Wert oder 
Datentyp.Datentypen unverträglich."


Close #KanalNr

End Sub



--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


[de-users] Makro Basic - Ausgabe in Datei - DoubleVariable via Typ-Deklarationszeichen # - Makro-Fehler-Abbruch

2020-08-21 Diskussionsfäden OoOHWHOoO

Hallo *,

zufällig bin ich - im Zusammenhang mit einer anderen Angelegenheit - auf 
folgenden BUG (?) gestoßen:


[1] Deklariert man eine Variable via "Dim DoubleVar1#" und will man den 
Inhalt dieser Variable in eine Datei ausgeben, erhält man die 
Fehlermeldung "Fehler: Unzulässiger Wert oder Datentyp.Datentypen 
unverträglich.".


[2] Deklariert man eine Variable via "Dim DoubleVar2 As Double" 
funktioniert die Ausgabe in eine Datei fehlerfrei


[3] Das "Print #KanalNr,DoubleVar1#" scheint mit 2 mal # Probleme zu 
haben ...


Kann das jemand bestätigen ?

Gruß
Hans-Werner :-))


Sub Print_DoubleVar_To_File

Dim Datei As String
Dim KanalNr As Integer

Dim DoubleVar1#
Dim DoubleVar2 As Double

DoubleVar1# = 0.123456789
DoubleVar2 = DoubleVar1#

Print DoubleVar1# ' OKAY
Print DoubleVar2 ' OKAY

Datei = "E:\TMP\HWH.txt" ' Gegebenenfalls anpassen !
KanalNr = Freefile

Open Datei For Output As #KanalNr

Print #KanalNr,DoubleVar2 ' OKAY
'  Print #KanalNr,DoubleVar1# ' ERROR "Unzulässiger Wert oder 
Datentyp.Datentypen unverträglich."


Close #KanalNr

End Sub


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy