|
Post by cygnus on Apr 3, 2018 8:15:38 GMT 1
Hallo Zusammen, Es gibt da anscheinend einen kleinen Bug bezüglich der Print-oder Deftext- Ausgaben am Monitor (normal, ohne einen Font zu spezifizieren). Zwischen dem "m" und "e" wird anscheinend ein Leerzeichen gesetzt. Oder der/ die Font(s) sind fehlerhaft. Ist das bekannt oder tritt dies nur bei mir auf? Textbug(Ist leider ein fitzeliger Screenshot.) Gruß, Michael EDIT: Produktversion 2.4 (Fileversion 2.421) Produktversion 2.33 (Build 1202)
|
|
|
Post by cygnus on Apr 5, 2018 19:17:17 GMT 1
Mein Proigramm ist eine Umsetzung vom GfABAsic 16. Das scheint ja recht kompliziert zu sein/ werden... Hier eine Kurzfassung zur Ausgabe: c0 = RGB(192, 192, 192), c2 = RGB(0, 0, 0) Local a$(3),i a$(3) = "Mandelbrotmenge" ° OpenW # 1, , , 1280, 950 TopW # 1 Win_1.AutoRedraw = True Me.BackColor = RGB(0, 0, 0) Color c2, c0 °Font "Tahoma", Weight 525, Width 5, Height 12, Orientation 0, Italic 0, StrikeOut 0, Underline 0, Escapement 0, Family 16, CharSet 0, Quality 2, Pitch 2 °Font To fonth °SetFont fonth DrawText 20, 100, 150, 120, "Mandelbrotmenge", DT_RIGHT | DT_VCENTER Print ATXY(12, 11); a$(3) KeyGet i ° OpenW # 2, , , 1280, 950 TopW # 2 Color c2, c0 DrawText 20, 100, 150, 120, "Mandelbrotmenge", DT_RIGHT | DT_VCENTER Print ATXY(12, 11); a$(3) KeyGet i End
1. Variante ohne Font: Ausgabe in beiden Fenstern ok. 2. Variante mit Font: Fenster 1 ist fehlerhaft, Fenster 2 ist ok 3, Variante: Das betreffende Programm ohne Font zeigt im Verlauf dann wieder die fehlerhafte Ausgabe. Dies betrifft aber nur den Zwischenraum bei m und e hintereinander. Beispiel:  Ich habe dann diverse Stringbehandlungen in meinem Programm auskommentiert oder verändert; immer mit unterschiedlichen Ergebnissen. Dieser "Bug" ist also in meinem Programm zu suchen und nicht im Basic...Finde ich den Fehler, werd ich das hier dann einstellen. Danke für's Interesse. Gruß, Michael
|
|
|
Post by cygnus on Apr 5, 2018 22:36:15 GMT 1
Das hatte ich befürchtet...Der Fehler sitzt vermutlich zwischen den Ohren. Irgendwann werde ich schon den "Geistesblitz" zur Lösung haben... Noch kurz OFF TOPIC: Wie läßt sich eigentlich die Fileselectbox positionieren? Die scheint immer das "oberste" Fenster zu sein; die linke, obere Ecke liegt bei 0,0.
|
|
|
Post by infoliner on Apr 6, 2018 7:04:48 GMT 1
Hattest Du mal eine andere Schriftart probiert?  Ich habe den Darstellungsfehler bei mir nicht. Vielleicht hatte ja jemand mit Tippex auf Deinem Monitor gewirkt?  Ich würde mit den Fonteinstellungen herumspielen, vielleicht findest Du da eine Lösung.
|
|
|
Post by cygnus on Apr 6, 2018 7:55:51 GMT 1
@JMM:
Danke, mit ocx hab ich noch gar nichts gemacht. Ich bevorzuge "klassisch" oder selbstgestricktes (--> können natürlich Fehler beinhalten). Eine Angabe zu x1 und y1 für die Position der Fileselectbox hatte ich im GfABasic32 eigentlich erwartet...
Wir können uns übrigens gerne mit "Du" anreden.
@Infoliner: Wie ich schrieb - viel probiert mit unterschiedlichen Ergebnissen; mit oder ohne Font-Auswahl. Übrigens: Eine Änderung der Eigenschaften bewirkt gar nichts. Weder Fettschrift noch Größe oder sonstwas. Zumindest in der umgesetzten 16er Variante. Da die Schrift mit oder ohne Font gleich ist, kann ich eine Fontangabe auch weglassen. Vermutlich geht das hier etwas anders, ist aber erstmal Nebensache.
Kurios bleibt auf jeden Fall die unterschiedliche Ausgabe OHNE Font und NUR zwischen "m" und "e"...Irgendwann werde ich den Fehler schon finden.
|
|
|
Post by cygnus on Apr 6, 2018 19:49:33 GMT 1
Fehler gefunden! Font "Tahoma", Weight 575, Width 5, Height 13 Font To fonth SetFont fonth If schild$ = Upper$(schild$) DrawText p1 + 1, sp0 - 7, p2, sp0 + 9, schild$, DT_BOTTOM | DT_CENTER Else DrawText p1 + 1, sp0 - 8, p2, sp0 + 8, schild$, DT_BOTTOM | DT_CENTER EndIf Font "Tahoma", Weight 525, Width 6, Height 13 Font To fonth SetFont fonth
Hier sollte beim 2. Mal im Unterprogramm also "Arial" stehen. Das war's. "Tahoma" sieht auf den Schildern etwas besser aus, das war der Grund des Wechsels.  Schönes Wochenende. Gru, Michael
|
|
|
Post by cygnus on Apr 9, 2018 21:04:40 GMT 1
Hi JMM,
hab Deinen Hinweis zur Fileselect- Box noch mal aufgegriffen. Ist ja doch recht einfach und jetzt hab ich auch keine Response- Fehler des Programms mehr. Knöpfe frage ich trotzdem noch über eine selbstgestrickte Matrix(i,j) ab.
Ich hab es so gelöst (alles, was ich mindestens 2x verwende, kommt in ein Proc) und habe noch iniDir eingefügt. Die Box ist jetzt immer im Fenster zentriert. Die Angaben dazu sind wohl nur Dummy- Koordinaten.
f_sel("*.bmp", "Grafik Laden", folder$, False) _________________________________________ Proc f_sel(temp$, temp1$, temp2$, speichern) f$ = "" Ocx CommDlg cd = , 20, 20 , 800, 800 cd.IniDir = temp2$ cd.FileTitle = "" cd.DefExt = "FILE" cd.Filter = "Files (*.FILE)|*.FILE|All Files (*)|*" Select speichern Case False cd.FileName = temp$ cd.Title = temp1$ cd.Flags = cdoHideReadOnly + cdoFileMustExist cd.ShowOpen Case True cd.FileName = temp$ cd.Title = temp1$ cd.ShowSave Endselect f$ = cd.FileName EndProc Ich müßte nur etwas mehr Zeit dafür haben...
Gruß, Michael
|
|
|
Post by cygnus on Apr 10, 2018 13:27:07 GMT 1
Gut, danke. Hab ich eingefügt.
|
|