Deutsch
Forum

File Linker

 

Georg
Teles
Ein simples Programm, dass 2 Dateien zusammenfügt:

Herunterladen

1. Datei: Quelldatei
2. Datei: welche angehängt wird
3. Save: Zieldatei
4. Link!: Zieldatei wird geschrieben

Stand 2013

690 kB
Hochgeladen: vor 30 Tagen
Ladeanzahl4
Herunterladen
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

vor 30 Tagen  
 




H.Brill
Hallo, zu was braucht man denn sowas ?
Ist das für Bilder o.ä. gedacht ?
Was macht Nr. 4 ? Link!:Zieldatei wird geschrieben.
Dachte, das wäre bei Nr. 3 ersichtlich.

Ist das was ähnliches, wie in der Hilfe bei ProgEnd ?
Copy test.exe /b + test.txt /b test1.exe

Oder irre ich mich und es ist doch was anderes ?

Ab Version X4 muß man aufpassen. Da funktioniert das
%ProgEnd nicht mehr. Hatte ich damals schon RGH
gemeldet.
 
Benutze XPROFAN X3 + FREEPROFAN
vor 30 Tagen  
 




Georg
Teles
Hallo,

H.Brill (02.01.2023)
Ist das was ähnliches, wie in der Hilfe bei ProgEnd ?
Copy test.exe /b + test.txt /b test1.exe


im Grunde ja, ist auch im Grunde mit BlockRead und BlockWrite gelesen und geschrieben.

H.Brill (02.01.2023)
Ab Version X4 muß man aufpassen. Da funktioniert das %ProgEnd nicht mehr. Hatte ich damals schon RGH gemeldet.


Da hast du recht, weil X4 das Kompilat als Ressource anhängt. ProgEnd würde ich nur dafür benutzen, damit das Runtime weiß, bis wohin das Kompilat (PRC) geht und gelesen werden soll.

Streng genommen kann man das Kompilat am Ende der Runtime anhängen, also nicht als Ressource. Das ist im Grunde, was ProfLink bis x2? glaube  ja tut. Das Runtime würde dann das Kompilat anhand des Headers suchen " RGH-PROFAN" und korrekt ausführen. Testweise geht es auch unter X4, da hat Roland ja auch den Suchindex ab X3 auf 100 Kb gesetzt, hatte aber einen anderen Zusammenhang (stark komprimierte Kompilate). Gerade getestet, kann man X4 Kompilat am Ende der Runtime anhängen, das %ProgEnd wird auch korrekt angezeigt, Testgrafik & Dateien folgen.

Das Programm hatt ich speziell für X2 geschrieben, da ich am Ende des Programms nach %ProgEnd meine Dateien, genauer gesagt Archive angehängt und mitgeliefert. Ab X4 würde ich statt %ProgEnd einen selbstgewählten String aussuchen und den Beginn der Daten markieren.

Grüße, sry für viel Text
 
Alle Sprachen
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

vor 30 Tagen  
 




Georg
Teles
Habs getestet, hier die Ergebnisse

tst____1.prf - mittels ProgEnd
cls
declare f#
dim f#,21362
print "Progend ";%progend
Set("FileMode",0)
Assign #1,Par$(0)
OpenRW #1
seek #1,%progend
blockread(#1,f#,0,21362)
Close #1
Set("FileMode",1)
Assign #2,"test.gif"
OpenRW #2
blockwrite #2,f#,0,21362
Close #2
print "test.gif geschrieben..."
waitinput
dispose f#
ProgEnd

tst____2.prf - mittels MemPos und "Such"-Prefix (xp.txt Inhalt = "XPROFANGIF_____")
cls
declare f#, f&
f& = filesize(Par$(0))
dim f#,f&
Set("FileMode",0)
Assign #1,Par$(0)
OpenRW #1
blockread(#1,f#,0,f&)
Close #1
declare pos&
pos& = MemPos(f#,0,"XPROFANGIF_____")
dispose f#
print "POS& "+Str$(pos&)
dim f#,21362
Assign #1,Par$(0)
OpenRW #1
seek #1,pos&+15
blockread(#1,f#,0,21362)
Close #1
Set("FileMode",1)
Assign #2,"test.gif"
OpenRW #2
blockwrite #2,f#,0,21362
Close #2
print "test.gif geschrieben..."
waitinput
dispose f#
ProgEnd

Ergebnis



Zusammenfassung
Wenn PRC von X4 mittels Linker als Ressource angefügt wird, gibt %ProgEnd nicht das Ende des fertigen Programms an, sondern das Ende der PRC, also innerhalb der Runtime und nicht wo diese endet (tst____1.prf - oberster Baum s. Bild)

Wenn PRC am Ende von Prfrun32 angefügt wird, funktioniert %ProgEnd wunderbar. (tst____1.prf - Zeile 2 im Baum s. Bild)

Wenn man stattdessen einen selbstgewählten Präfix nutzt und mittels MemPos diesen sucht, geht nichts schief: (tst____2.prf)

Ob mittels Linker von X4 oder am Ende von Runtime angefügte PRC, gefolgt von am Ende angefügter Präfix (hier xp.txt Datei mit Inhalt "XPROFANGIF_____", welcher gesucht wird s. Beispiel tst____2.prf) gefolgt von am Ende angefügter GIF letztendlich klappts wunderbar.

Die Idee war nunmehr Daten an das XProfan Programm anzufügen. Das kann man ausweiten und zB was mir gerade einfällt als selbstentpackendes Archiv zB nutzen und an die Fertige EXE ein Archiv anhängen, welches das Programm je nach Archiv die Dateien auflistet und eventuell variable Daten wie Titel, Text für den Archivierer enthält (da arbeite ich an meinem TEW Archivierer grad dran).

Sry für das Ganze, wollte auf Nummer sicher gehen und testen ... Servus.
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

vor 30 Tagen  
 




H.Brill
Danke für die Erläuterungen.
Seit es die Ressourcen-Funktionen in XProfan gibt,
kann man auch damit einiges bewirken.
Ich hatte da mal auch ein Programm für die Arbeitskollegen
für zuhause entwickelt. Die Listview.dll, die ich beigelegt hatte,
hatten die Kollegen öfter mal gelöscht, warum auch immer,
und bemängelnden dann, daß mein Programm nicht mehr lief.
Da hatte ich die DLL kurzerhand als Ressource eingelinkt
und bei jedem Programmstart die Resource ausgelesen
und neu in den Programmordner geschrieben. Da war dann
Ruhe.
 
Benutze XPROFAN X3 + FREEPROFAN
vor 29 Tagen  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

125 Betrachtungen

Unbenanntvor 0 min.
Michael W. vor 9 Tagen
Hans Neff vor 12 Tagen
Uwe Lang vor 17 Tagen
Alibre vor 18 Tagen
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Georg Teles (3x)
H.Brill (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie