Italia
Foro

File Linker

 

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

Herunterladen

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

Stand 2013

 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

02.01.2023  
 




H.Brill
Hallo, zu was braucht man denn sowas ?
Ist das per 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 Aiuto 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
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
02.01.2023  
 




Georg
Teles
Ciao,

H.Brill (02.01.2023)
Ist das was ähnliches, wie in der Aiuto 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 & File folgen.

Das Programm hatt ich speziell per X2 geschrieben, da ich am Ende des Programms nach %ProgEnd meine File, 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 per viel Text
 
Alle Sprachen
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

02.01.2023  
 




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 File 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 File auflistet und eventuell variable Daten wie Titel, Text per den Archivierer enthält (da arbeite ich an meinem TEW Archivierer grad dran).

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

02.01.2023  
 




H.Brill
Danke per die Erläuterungen.
Seit es die Ressourcen-Funktionen in XProfan gibt,
kann man auch damit einiges bewirken.
Ich hatte da mal auch ein Programm per die Arbeitskollegen
per 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
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
03.01.2023  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.268 Views

Untitledvor 0 min.
Gast.0815 vor 5 Tagen
Georg Teles09.10.2024
Member 862464108.06.2024
H.Brill25.11.2023
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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