Seite 1 von 2

Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 13:59
von rsz
Hallo zusammen,

ich schon wieder... :)

Flagship: Wenn ich z.B. "Änderung" via SAY ausgebe (in Variable) flackert der Bildschirm gnaz schrecklich, ändere ich das "Ä" auf "AE" (oder nehme es weg) flackert er nicht :(


hat jemand vielleicht eine Idee?

Danke, LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 14:30
von Tom
Riecht nach dem Fehlschlag einer Vergleichsoperation:

Code: Alles auswählen

c := "Änderung"
oSay:SetCaption(ConvToAnsiCP(c))
irgendwo anders, vielleicht in einer Schleife:

Code: Alles auswählen

IF c # oSay:Caption
  oSay:SetCaption(ConvToAnsiCP(c)) 
ENDIF
Mit Umlauten immer falsch, weil für die Ausgabe konvertiert wird (OEM -> ANSI).

Code wäre - wie immer - hilfreich(er).

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 14:56
von rsz
HI Tom,

der Code ist simple...

_fttab[01] = 'Änderung'
@ 38,00 say 'F1=' + _fttab[01]
wait

das Ergebnis:
"F1= nderung" und flackernder/zuckender BS



Deine Erklärung verstehe ich leider nicht.

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 14:58
von matyschik
Hallo Ralf,

Im folgenden meine Grundeinstellungen zu Visual FlagShip. Damit ist auch das Flackern weg.
Die deutschen Umlaute und der Index ist dann auch richtig eingestell

Code: Alles auswählen

** Flagship SET Einstellungen
READINSERT(.T.)
SET AUTOLOCK ON
SET EXCLUSIVE OFF
SET GUICOLORS ON
SET GUITRANSL BOX ON
SET SOURCE ISO
SET FONT 'Consolas', 10.5

** Set German sorting table
FS_SET('loadLang', 1, 'FSsortab.ger')
FS_SET('setLang' , 1)
FS_SET('mapping' , 'FSchrmap.def')

** FlagShip andere Einstellungen
oTopBar:CLEAR()
oApplic:Font:Charset(FONT_ISO8859_15)
oApplic:Caption := "INFOSYMA-IN "                // one space - or any string of your choice
FS_SET('guikey', 'FSguikey.iso1')
_aGlobSetting[GSET_G_N_REFRESHDRAW] := -1
oAppWindow:SetFixSize(30, 141)                   // 02.11.2015
oFont := Font{'Consolas', 10.5}
_aGlobSetting[GSET_G_O_ALERT_FONT] := oFont
Mit freundlichen FlagShip Grüßen
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 15:42
von rsz
Hallo Johann,

vielen Dank, ich kämpfe mich mal durch... :)

Muss der Index schon mit den Einstellungen aufgebaut sein?
** Set German sorting table
FS_SET('loadLang', 1, 'FSsortab.ger')
FS_SET('setLang' , 1)
FS_SET('mapping' , 'FSchrmap.def')

Ich bekomme beim use nämlich einen Fehler:

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 15:52
von rsz
:(
Run-time error 307.. line 49
undefined variable
access of variable "FONT_ISO88" attempted


line 49 = oApplic:Font:Charset(FONT_ISO8859_15)

:oops: :?: :?:

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 15:53
von matyschik
Hall Ralf,

Was für einen Fehler bekommst Du. Du solltest alle Index Dateien erneut erstellen.

Mit freundlichen FlagShip Grüßen
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 15:56
von rsz
bekomme danach folgenden Fehler:
http://prntscr.com/9p6lu8

das ist der code ab 93:
SELECT 0
USE SYSOPEN INDEX SYSOPEN, SYSOPEN1
GO TOP

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 16:13
von matyschik
Hallo Ralf,

Diese INCLUDE Dateien müssen im Quellcode auch noch angegeben werden.
#include 'font.fh'
#include 'dialog.fh'

Mit welcher FlagShip Version arbeitest Du? Ich arbeite mit Visual FlagShip 7.1.24.

Mit freundlichen FlagShip Grüßen
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 16:37
von rsz
das schaut jetzt schon besser aus :)

melde mich wieder...

Ich arbeite mit
FlagShip 7.1.24 for Windows/BCC

Danke LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 16:51
von rsz
Hallo Johann,

funktioniert soweit, das "Ä" wird nur nicht angezeit sondern ein Sonderzeichen.. :?:
http://prntscr.com/9p7b9e

Danke, LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 17:14
von matyschik
Hallo Ralf,

ist die Anzeige eine @ xx,xx SAY "ÄString" oder ist es ein DBF Feld.
Wenn das mit einem SAY angezeigt wird, mit welchem Editor abeitest Du.

Ich arbeite mit dem MED 3.02 von http://www.med-editor.com.

Mit freundlichen FlagShip Grüßen
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 17:21
von rsz
Hallo Johann,

ist say "ÄString"...

wie

_fttab[01] = 'Änderung'
@ 38,00 say 'F1=' + _fttab[01]


ich arbeite schon kange Zeit mit Notepad++ Bild
http://prntscr.com/9p7qx7

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 18:10
von matyschik
Hallo Ralf,

ich habe Dein Beispiel ausprobiert. Es funktioniert einwandfrei.

Mit freundlichen FlagShip Grüßen
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 18:17
von rsz
verstehe ich nicht :( dann liegt es vllt doch an der Kodierung vom Editor...
http://prntscr.com/9p8i9u


ich versuche mal einen anderen..

Dankeschööön

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 18:40
von matyschik
Hallo Ralf,

ich habe noch nicht gefragt mit welchem Parameter Du kompilierst.
-io=g für den GUI Modus, also eine Windows Anwendung.
-io=t für den Terminal Modus also wie für eine Clipper Anwendung.

Ich benutze nur den GUI Modus.

Herzliche FlagShip Grüße
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Di, 12. Jan 2016 23:38
von rsz
Hallo zusammen, Hallo Johann,

ich arbeite im GUI-Modus (io=g)

Ich verstehe nix mehr...

Eingabe in DB via "GET" -> http://prntscr.com/9pd70k
Anzeige aus DB über "SAY" -> http://prntscr.com/9pd540

und so steht es in der DB wenn ich mit CDBF anschaue -> http://prntscr.com/9pd7nr

vllt. muss ich mal drüber schlafen...

Gute N8

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 1:24
von AUGE_OHR
rsz hat geschrieben:ist say "ÄString"...
wie

Code: Alles auswählen

_fttab[01] = 'Änderung'
@ 38,00 say 'F1=' + _fttab[01]
ich arbeite schon kange Zeit mit Notepad++ Bild
http://prntscr.com/9p7qx7
ich kenne mich nicht mit Flagship aus ... aber mit Windows ;)

die deutschen Umlaute stehen wohl in deiner DBF ( was nimmst du da als Editor ? ) was man am "Header" der DBF überprüfen könnte.
Frage : was für einen Index Type ( NTX / CDX ) ?

alte Cl*pper DBF / DBT sind immer OEM aber Windows ist ANSI ( bzw. Unicode )
unter Xbase++ werden nun "automatisch"*** OEM <-> ANSI Konvertierung für solche DBFNTX Inhalte vorgenommen.
*** das ist was Tom mit ConvToAnsi() andeutet.
---
ich gehe mal davon aus das dein Editor (Notepad++) ein Windows Produkt ist wo du die Codierung einstellen kannst was mit dem Windows NOTEPAD.EXE nicht geht weil der immer ANSI macht.

bei Xbase++ gibt es den Compiler Schalter /ga
Literale Zeichen von ANSI nach OEM konvertieren
bei Flagship sollte es ähnlich sein.

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 1:53
von matyschik
Hallo Jimmy,

FlagShip hat das eigene Indexformat *.idx. Dieser Fehler hat auch nichts mit dem Index
zu tun. Der Fehler tritt ja schon bei einem SAY Befehl auf. Ich arbeite nun schon seit vielen
Jahren mit FlagShip und kann mich am Anfang auch an solche Fehler erinnern.

Jedoch waren dann alle Umlaute verkehrt. Ich habe bei meinem MED Editor solange die Einstellungen
geändert bis die Darstellung in Ordnung war, allerdings waren immer alle Umlaute verkehrt oder richtig.

So einen Mischmasch habe ich nie gehabt.

Da nicht bekannt ist womit die Datenbank erzeugt wurde, würde ich den fehlerhaften Eintrag testweise
erst einmal korigieren und das Verhalten beobachten.

Herzliche FlagShip Grüße
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 12:24
von rsz
Hallo ihr Nachtmenschen :)

ich nutze das idx von Flagship, ganz neu aufgebaut mit den Einstellungsempfehlungen von Johann,

die dbf's sind noch die alten von Clipper (DBU) erstellten, dbase III Type, Header = Ansi Charset

Die Umlaute habe ich mit flagship Compile erfasst, neuer Datensatz in bestehende Datenbank...

Das (Test-)Coding ist ein neues PRG mit nur wenig zeilen, ... get, read, say... liegt also niocht am bestehenden Code :(


Danke, LG, :D
Ralf

PS: Soll ich vllt mal den dbase-Type ändern?
diese bekomme ich angeboten: http://prntscr.com/9pja4c

PS2: Ich habe jetzt mit flagship-compile eine neue DB mit dbcreate angelegt: auch dbaseIII-Header und absolut gleiches Problem :(


Was ich rausgefunden habe: in der DB wird OEM Charset gespeichert, beim GET auf die DB ebenso, nur der SAY scheint im ANSI Charset zu arbeiten :(

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 13:15
von rsz
:banghead: :banghead: :banghead:

"SET SOURCE OEM" ===> http://prntscr.com/9pjqdg


das soll es gewesen sein? Ich kann es gar nicht glauben :)

jetzt habe ich nur noch das Problem mit dem Editor.... das ist immer noch da :(

LG,
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 13:25
von Tom
Du musst Deine Quellcodes einfach nach ANSI konvertieren und danach Deinen Editor, der vermutlich auf OEM steht, auf ANSI umstellen. In Xbase++ ginge die Konvertierung so:

Code: Alles auswählen

SET CHARSET TO OEM
cSource := FileStr('main.prg')
cSource := ConvToAnsiCP(cSource)
FErase(cSource)
StrFile(cSource,'main.prg',.T.)
Anschließend sollte man nicht nur die Umlaute prüfen, sondern auch Sonderzeichen (€, ß) und möglicherweise verwendete Grafikzeichen.

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 13:42
von matyschik
Hallo Ralf,

ich wollte Dir eine Demo von mir schicken. Hat leider nicht geklappt. Jetzt der zweite
Versuch. Habe gerade festgestellt das eine Datei maximal 3 MB groß sein darf. Das Pro-
blem scheint inzwischen ja auch gelöst zu sein.

Im EXAMPLES Verzeichnis ist das Programm fsadress.exe mit dem Quellcode. Damit kannst
Du auch den Editor testen.

Hast Du meine E-Mail erhalten?

Herzliche FlagShip Grüße
Johann Matyschik

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 13:43
von rsz
Danke Tom, jetzt wo ich weiss was, was ist, ist es recht easy mit notepad++
==> http://prntscr.com/9pjzie


und tataaa :) ==> http://prntscr.com/9pk05h
checke jetzt mal den Rest und die "alten" datenbanken durch!

Danke für die guten Infos, komme mir vor wie ein Anfänger...

... bin ja auch einer :)

Herzliche Grueße, ihr hoert wieder von mir, versprochen :blob8:
Ralf

Re: Bildschirmflackern bei Ausgabe von Umlauten

Verfasst: Mi, 13. Jan 2016 13:57
von brandelh
Hallo,

eigentlich gilt bei "uns" in Deutschland der westeuropäische Zeichensatz OEM 850, ob unsere Umlaute in beiden gleich sind hab ich aber nicht nachgesehen.