Aktuelle Zeit: 18.10.2019 06:19

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Definition von String (C zu PB)
BeitragVerfasst: 15.10.2004 13:06 
Offline
Benutzeravatar

Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Hallo,

Ich bin am übersetzen einer Routine von C nach PB.

Ich muss jetzt folgenden String aus C in PB haben (alles in einer Zeile):

Code:
#define RTF_PREBUF {\\rtf1\\ansi\\mac\\deff0\\deftab720{\\fonttbl;}{\\f0\\fnil \\froman \\fswiss \\fmodern \\fscript \\fdecor MS Sans SerifSymbolArialTimes New RomanCourier{\\colortbl\\red0\\green0\\blue0\n\r\\par \\pard\\plain\\f0\\fs20\\b\\i\\u\\tab\\tx


Problematisch ist dabei, dass die \\ ein \ sein sollen. Ich habe auch \n zu Linefeed (ASCII 10) und \r zu Return (ASCII 13) gewandelt.

Ich muss aber noch Codes vergessen haben oder schlicht nicht kennen denn es funktioniert noch nicht richtig.

Also, was steht im Speicher, wenn ein String so in C definiert wurde?

Evtl. kann jemand mit C-Compiler diesen String einbauen und als Hexdump anzeigen? Damit wäre mir schon geholfen.

Grüsse,

Volker


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 15.10.2004 13:16 
Offline
Benutzeravatar

Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Hallo,

Ich habe gerade eine Programm gefunden das den selben String enthält. Dort habe ich dann mit dem Hexeditor geguckt wie der abgelegt ist und stelle fest, dass wirklich nur \n und \r ersetzt wurden. Also hab ich wohl nichts vergessen und es ist woanderst der Fehler. Mist.

Dennoch danke für's lesen.

Grüsse,

Volker


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 15.10.2004 15:08 
Offline
verheiratet<br>1. PureGolf-Gewinner
Benutzeravatar

Registriert: 29.08.2004 09:42
Wohnort: Old Europe
>>Dennoch danke für's lesen.

Bitte :D

_________________
Basic Pur = PureBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 16.10.2004 03:24 
Offline
Benutzeravatar

Registriert: 29.08.2004 00:40
was mir da ins auge springt ist, nicht alle geschweiften klammern werden geschloßen. bist du sicher dass das der ganze string ist?

das mit den "\\" sollte kein problem sein. das pb äquivalent dazu ist einfach nur "\".


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 16.10.2004 08:59 
Offline
Benutzeravatar

Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Hallo Zaphod,

Danke für den Hinweis, aber es ist schon richtig so. Es ist ein Header für RTF-Strings. Dieser wird zur Kompression verwendet (LZ-ähnlicher Algorithmus) wobei der Inhalt nur als vorgefertigter Vorlagenstring dient. Er muss nicht geschlossen sein.

Ich habe das Problem inzwischen gelöst. Vielen Dank.

Volker


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 16.10.2004 09:29 
Offline

Registriert: 08.09.2004 14:03
Wohnort: Kiel
Ich versteche da auch was nicht.
Hier wird ein Makro definiert, das heißt jedes mal wenn im Quellencode RTF_PREBUF vorkommt wird es durch den String ersetzt, außer dass RTF_PREBUF in Anführungszeichen steht - "RTF_PREBUF". So aber verursacht es immer syntaxfehler, man müsste den String in Anführungszeichen setzten:
Code:
#define RTF_PREBUF "{\\rtf1\\ansi\\mac\\deff0\\deftab720{\\fonttbl;}{\\f0\\fnil \\froman \\fswiss \\fmodern \\fscript \\fdecor MS Sans SerifSymbolArialTimes New RomanCourier{\\colortbl\\red0\\green0\\blue0\n\r\\par \\pard\\plain\\f0\\fs20\\b\\i\\u\\tab\\tx"


Mir fällt nicht ein wie man das sonst kompielieren kann.

_________________
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94


Zuletzt geändert von MARTIN am 16.10.2004 12:00, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 16.10.2004 11:25 
Offline
Benutzeravatar

Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Hallo Martin,

Du hast Recht. Beim Kopieren hat sich da wohl ein Fehler eingeschlichen. Das muss natürlich in Anführungszeichen stehen wie in deinem Beispiel.

Volker


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye