ConvertFromAnsi mit Purebasic

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

ConvertFromAnsi mit Purebasic

Beitrag von funkheld »

Hallo, guten Tag.
Ich empfange von einem TCP-Server Daten die ich umwaneln muss.
WEr kann mir das unten bitte einmal in Purebasic umwandeln ?

Code: Alles auswählen

Function fnConvertFromAnsi:String(text:String)
	Local str:String = ""
	Local count:Int = Len(text)
	For Local k:Int = 0 Until count
		If(text[k] >= 192 And text[k] <= 255)
			str:+Chr(text[k] - 192 + 1040)
		ElseIf(text[k] = 168) 'Ё
			str:+Chr(1025)
		ElseIf(text[k] = 184) 'ё
			str:+Chr(1105)
		Else
			str:+Chr(text[k])
		EndIf
	Next
	'DebugLog "'" + str + "'"
	Return str
End Function
Danke.
Gruss
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ConvertFromAnsi mit Purebasic

Beitrag von mk-soft »

Das erledigt doch Purebasic für dich

Code: Alles auswählen

text.s = PeekS(*ReceiveBuffer, -1, #PB_Ascii)
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ConvertFromAnsi mit Purebasic

Beitrag von RSBasic »

Ich frage mich, mit welcher Programmiersprache du schreibst? Anscheinend verwendest du mal die Sprache und mal PB. Ist es nicht sinnvoller, eine Sprache für die Anwendungsentwicklung zu nehmen? Sonst musst du nicht ständig von A nach B konvertieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: ConvertFromAnsi mit Purebasic

Beitrag von funkheld »

Danke für die Indfo.
Das wusste ich nicht.

Gruss
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Re: ConvertFromAnsi mit Purebasic

Beitrag von Andre »

Das hilft dir vielleicht nicht direkt, aber für das Umwandeln von Sonderzeichen in übliche deutsche Buchstaben habe ich im englischen Forum selbst einen Thread laufen und dort heute auch eine eigene Lösung zum Konvertieren gepostet: http://www.purebasic.fr/english/viewtop ... 13&t=52782
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: ConvertFromAnsi mit Purebasic

Beitrag von funkheld »

Danke.
Werden bei Ansi immer 2 Byte für einen Buchstaben genommen?

Gruss
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ConvertFromAnsi mit Purebasic

Beitrag von mk-soft »

nein

Ansi (8 Bit) ist der erweiterte Zeichensatz von Ascii (7 Bit).

Darum gibt es auch verschiedene Code-Tabellen für die verschiedenen Ländern
Unicode hat zwei Byte.

Link: https://de.wikipedia.org/wiki/ANSI-Zeichencode
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: ConvertFromAnsi mit Purebasic

Beitrag von _JON_ »

MultiByteToWideChar_() sollte doch mit den Sonderzeichen klar kommen.
Musst nur die Codepage der Quell kennen
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: ConvertFromAnsi mit Purebasic

Beitrag von Bisonte »

_JON_ hat geschrieben:MultiByteToWideChar_() sollte doch mit den Sonderzeichen klar kommen.
Musst nur die Codepage der Quell kennen
Für Windows mag das gelten... Aber ich nehme bei Andre an, das soll auch auf Mac und Linux laufen...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Re: ConvertFromAnsi mit Purebasic

Beitrag von Andre »

Bisonte hat geschrieben:
_JON_ hat geschrieben:MultiByteToWideChar_() sollte doch mit den Sonderzeichen klar kommen.
Musst nur die Codepage der Quell kennen
Für Windows mag das gelten... Aber ich nehme bei Andre an, das soll auch auf Mac und Linux laufen...
So ist es - auf Windows und MacOS :allright:
(und daher nach Möglichkeit ohnehin ohne API-Befehle)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten