delete

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Nicht noch einer! :lol:

Ich habs mir mal installiert und bin ehrlich gesagt positiv ueberrascht.
Das ganze ist sehr vorbildlich strukturiert und die vielen Beispiele machen es
einem einfach schnell durchzusteigen. Nicht dass ich jetzt OOP in PB verwenden
wuerde (dafuer hab ich C++), aber das ist echt mal lobenswert! :allright:
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Andesdaf
Moderator
Beiträge: 2661
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

schönes Cover <)
Win11 x64 | PB 6.10 (x64)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

:allright:

aber noch zu Buggy:

1. UTF-8 Sourcen werden nicht also solche erkannt, somit gibts nen Fehler
(verstehe nicht, wie man noch Plain Text nutzen kann)
2. Die Draw-Beispiele erzeugen alle ein IMA.

Da mußte wohl noch mal ran :wink:

Gruß

Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

If ReadFile(0, "bla.txt")
  format = ReadStringFormat(0)
  If format = #PB_Ascii
    format = #PB_Ascii
  Else
    format = #PB_UTF8
  EndIf
  blub.s = ReadString(0, format)
  ....
  CloseFile(0)
EndIf
Das mit draw könnte auch an was anderem liegen, x64 hab ich noch nicht
getestet, da muß ich wohl manuell nachhelfen bevor ich testen kann.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Little John

Beitrag von Little John »

ts-soft hat geschrieben:

Code: Alles auswählen

If ReadFile(0, "bla.txt")
  format = ReadStringFormat(0)
  If format = #PB_Ascii
    format = #PB_Ascii
  Else
    format = #PB_UTF8
  EndIf
  blub.s = ReadString(0, format)
  ....
  CloseFile(0)
EndIf
Ich würde auch #PB_Unicode berücksichtigen, z.B. so:

Code: Alles auswählen

; Identify the string encoding used in the file
format = ReadStringFormat(0)
Select format
   Case #PB_Ascii, #PB_UTF8, #PB_Unicode
   Default
      CloseFile(0)
      Debug "Invalid string format"
EndSelect
Gruß, Little John
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

> Ich würde auch #PB_Unicode berücksichtigen, z.B. so:
Das würde ich nicht, hat schon seinen Grund! PB-Dateien gibts auch nur
als #PB_ACII oder #PB_UTF8, alles andere ist garnicht möglich.

Das mit Draw hat was mit den AlphaLibs zu tun, die ich teste, ansonsten
Funzt es!

X64 geht auch!

Aber: Da Du alles ohne Pfade einträgst, funktioniert erstmal nur noch ein
PB Version, alle anderen sind anzupassen, das ist nicht so gut, da PB eine
Tools.prefs für alle Installationen benutzt. Das sollte also auf komplette
Pfade geändert werden, wobei dann noch das Problem mit dem Debugger
bleibt!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Little John

Beitrag von Little John »

ts-soft hat geschrieben:> Ich würde auch #PB_Unicode berücksichtigen, z.B. so:
Das würde ich nicht, hat schon seinen Grund! PB-Dateien gibts auch nur
als #PB_ACII oder #PB_UTF8, alles andere ist garnicht möglich.
Ooops. Ja stimmt, sorry!

Gruß, Little John
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Sieht bis jetzt sehr gut aus, funktioniert mit x86 und x64.

Danke das du es als OS veroeffentlichst, so hat es wenigstens eine besser
Chance :allright:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Du liest jetzt zwar den BOM aus, schreibst ihn aber nicht zurück! Das könnte
Datenverlust für Unicode-Strings bedeuten!
Vielleicht hab ich die Stelle auch nur nicht gefunden :wink:

// Nachtrag:
UTF-8 geht verloren:

Code: Alles auswählen

text.s = "უნიკოდი,"
MessageRequester("", text)
Kommt eine Fehlermeldung im Unicode-Modus, solange SimpleOOP aktiviert
ist, ohne gehts.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Weil Du beim schreiben auch das Format-Flag angeben mußt!

Code: Alles auswählen

WriteStringFormat(0, Format); z.B. #PB_UTF8
WriteStringN(0, "bla", Format)
Obiges Beispiel funktioniert nur, wenn die IDE auf UTF-8 steht und die
Compileroptionen auf Unicode. Schon erscheint der Text in der MsgBox.

Deshalb ist PlainText in der IDE auch überflüssig, weil UTF-8 unterstützt
beides voll.

Format das beim lesen gefunden wurde, unbedingt wiederherstellen beim schreiben!

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten