Text in Binärdaten und zurückwandeln?

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
DelUser01

Text in Binärdaten und zurückwandeln?

Beitrag von DelUser01 »

Hallo

Habe mit Binärdaten in XBase++ noch nicht viel gemacht und habe folgendes vor:

Ein String mit fester Länge - z-B. 100 Zeichen - müsste in Binärdaten umgewandelt werden und wieder zurück.
Dieser Text soll vor einen beliebigen Dateiinhalt kopiert und an anderer Stelle wieder abgeschnitten werden.

Eventuell ist dieses Vorgehen gar nicht notwendig und ich könnte auch einen normalen Text-String vor die Datei stellen und nachher wieder abschneiden?
Könnte das bei Binärdateien (z.B. EXE) Probleme geben?

Der Hintergrund ist ganz einfach:
Der entsprechenden Datei sollen Zusatzinformationen verpasst werden, z.B. was nach dem Download aus dem Internet damit passieren soll.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text in Binärdaten und zurückwandeln?

Beitrag von brandelh »

Hallo,

Geht es hier darum, dass dein WEB-SERVER Infos an eine binärdatei hängen und dein IMPORTPROGRAMM diese Infos wieder trennen soll ?

Wenn ja ist das recht einfach. Du bist Herr dessen was versand wird. Du musst nur eine eindeutige Kennung zwischen beides bringen und der
MIME Datentyp muss auf binär (irgendwas mit octed ...) stehen.

Der Server (CGI / XB2NET / etc.):

Code: Alles auswählen

 cInfo := "was auch immer"
 cTrenner := "##1#2#3#4#5#6#7##"
 cExe := FileToString(...)

 cSend := cInfo + cTrenner + cEXE
Der Empfänger (eine EXE ...)

Code: Alles auswählen

 cEmpfang := ...
 x = at(... Trenner suchen) 
 cInfo := left(cEmpfang,x-1)
 cExe := substr(cEmpfang,x+len(cTrenner))
 Str2Disk(nExeName, cExe)


eventuell muss man das ganze auch noch encoden() ... base64 z.B. ... dabei immer die Reihenfolge der Verarbeitung beachten und umdrehen.
Gruß
Hubert
DelUser01

Re: Text in Binärdaten und zurückwandeln?

Beitrag von DelUser01 »

genau richtig, Hubert, so soll das laufen.

Ein Teil der Arbeit erledigt das Datenbanksystem auf dem WebServer (die Recherche).
Wenn die Daten gefunden sind wird der Rest lokal erledig.
Und damit der Benutzer die Recherchewerte nicht noch einmal eingeben muss sollen diese mit übertragen werden und die lokale Ergebnisanzeige damit gestartet werden.

Wenn das was mir (und meinem Kunden) vorschwebt funktioniert ist das dann eine feine Sache.

Wenn es läuft zeige ich das auch gerne hier...
DelUser01

Re: Text in Binärdaten und zurückwandeln?

Beitrag von DelUser01 »

Ergänzung:

werde das vielleicht anders lösen:
in meine Datei auf dem WebServer werde ich nur die Kommandos für mein lokales Programm schreiben. Z.B.:



Das XBase++-Programm lädt dann die Datei "test.pdf" vom WebServer,
startet den Viewer und das Such-Tool.
Dann muss ich die Original-Datei nicht verändern.
DelUser01

Re: Text in Binärdaten und zurückwandeln?

Beitrag von DelUser01 »

Hallo Hubert

habe das jetzt mit der Steuerdatei gelöst - und es funktioniert.

Sollte das jetzt nur in einer anderen Programmiersprache machen,
damit ich nur eine EXE habe beim Kunden...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text in Binärdaten und zurückwandeln?

Beitrag von brandelh »

Das verstehe ich jetzt aber nicht, welche Sprachen hast du denn nötig ?
Xbase++ kann (mit LoadFromUrl() aus Wissensbasis oder AsiNet) die Steuerdatei und die PDF downloaden und den Viewer auch steuern ...
Gruß
Hubert
DelUser01

Re: Text in Binärdaten und zurückwandeln?

Beitrag von DelUser01 »

Hallo Hubert

jetzt mache ich das ja mit LoadFromURL() und es geht (hatte ich ja schon geschrieben).

Dieses "Front-End"-Tool soll möglichst einfach zu installieren sein. Am einfachsten wäre da eben eine einzige EXE. Und das ist mit XBase++ nicht zu schaffen. Muss ja auch nicht, schließlich hat XBase++ ja Datenbankaufgaben...

Der User welcher irgendwo sitzt und das Tool verwenden müsste soll es da maximal einfach haben.
Natürlich - wenn ich es nicht anders hinbringe - wird dann eben ein selbstextrahierendes EXE herhalten für die Installation mit zig DLLs.

(Meine Zeiten mit C++ sind schon eine Weile her, da müsste ich mich erst wieder einarbeiten.)
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text in Binärdaten und zurückwandeln?

Beitrag von brandelh »

Jetzt verstehe ich, was du mit einer EXE gemeint hast ;-)

PS: OHNE GUI braucht man nicht viele DLL Dateien !
Sowas mach ich dann mit PowerBasic, wobei Xbase++ beim download schneller ist.
Die Befehle von PowerBasic (für TCPIP Sockets) warten immer auf timeouts, das muss aber ein Fehler in meiner Verwendung sein ...
Gruß
Hubert
Antworten