Assembler-Fragen

Für allgemeine Fragen zur Programmierung mit PureBasic.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Assembler-Fragen

Beitrag von ccode_new »

@RSBasic:
RSBasic hat geschrieben:Oder du benutzt einen Hex-Editor und ersetzt in der Library-Datei "...\PureLibraries\Window" alle Zeichenketten "W i n d o w C l a s s _" durch deinen eigenen Klassennamen. Das geht zwar, aber dann hätten alle deine Fenster wieder denselben Klassennamen.
Bist du dir da sicher ?

Ich habe es mal ausprobiert und mit dem "Notepad" alle Vorkommen von "W i n d o w C l a s s _" (insgesamt 2) ersetzt gegen "FensterKlasse_".

Folgender Test liefert aber immer noch "WindowClass_0"

Code: Alles auswählen

Global class.s{1024}
OpenWindow(0, 0, 0, 800, 600, "Test")
GetClassName_(WindowID(0),@class,1024)
Debug PeekS(@class)
Repeat
Until WindowEvent() = #PB_Event_CloseWindow
Also so funktioniert das nicht.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Bitte lasst die Finger von Änderungen in PureBasic-System-Dateien.

Ich bekomme mit umgenannten WindowClass-Namen jetzt folgende Fehlermeldung in der IDE und der Compiler startet nicht mehr.

Bild

Also lasst es bitte bleiben!
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Assembler-Fragen

Beitrag von RSBasic »

Du darfst die Library doch nicht mit Notepad bearbeiten. Die Library ist binär und muss unbedingt mit einem Hex-Editor bearbeitet werden, da sonst beim Speichern mit Notepad die ganze Datei unbrauchbar wird. Notepad ist für sowas nicht geeignet und nicht ausgelegt. Nutze bitte, wenn du binäre Dateien ändern möchtest, einen Hex-Editor.
Ich habs vorhin getestet und es hat funktioniert:
Bild

Außerdem darf die Länge des Strings, der ersetzt wird, nicht verändert werden.

Da Notepad die Library-Datei zerstossen hat, musst du PB neu installieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Re: Assembler-Fragen

Beitrag von ¯\_(ツ)_/¯ »

Danke Leute wieder für eure Hilfen!
ccode_new hat geschrieben:Dieser Beitrag sollte auch schon weiterhelfen: viewtopic.php?f=3&t=25771
Ja den Code werde ich nutzen, danke!
ccode_new hat geschrieben:Bitte lasst die Finger von Änderungen in PureBasic-System-Dateien.
Also lasst es bitte bleiben!
Ich bekomme mit umgenannten WindowClass-Namen jetzt folgende Fehlermeldung in der IDE und der Compiler startet nicht mehr.
Ja wenn man keine Ahnung davon hat dann unbedingt die Finger von Änderungen in PureBasic-System-Dateien lassen. :lol:
Bild
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: Assembler-Fragen

Beitrag von juergenkulow »

Hallo,

Eine Assembler-Frage: Bei welchen Funktionen setzt Du heute sinnvoll Inline-ASM oder Maschinencode ein?
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Assembler-Fragen

Beitrag von RSBasic »

Wenn du z.B. Werte schnell speichern und verarbeiten möchtest (z.B. bei Berechnungen u.ä.), da der Register-Speicher deutlich schneller ist, als der Arbeitsspeicher.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Assembler-Fragen

Beitrag von ccode_new »

Du darfst die Library doch nicht mit Notepad bearbeiten. Die Library ist binär und muss unbedingt mit einem Hex-Editor bearbeitet werden, da sonst beim Speichern mit Notepad die ganze Datei unbrauchbar wird. Notepad ist für sowas nicht geeignet und nicht ausgelegt. Nutze bitte, wenn du binäre Dateien ändern möchtest, einen Hex-Editor.
Jepp! Ok, das "Notepad" kann halt keine Binären-Dateien korrekt bearbeiten. (Ist halt nur für Text)

Mit einem Hex-Editor (wie schon mehrfach erwähnt, und von mir ignorant ignoriert worden) geht es aber tatsächlich.
¯\_(ツ)_/¯ hat geschrieben:Ja wenn man keine Ahnung davon hat dann unbedingt die Finger von Änderungen in PureBasic-System-Dateien lassen.
Da gebe ich dir vollkommen Recht!
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Assembler-Fragen

Beitrag von ccode_new »

Code: Alles auswählen

BinFile.s = OpenFileRequester("Window-Lib wählen", "*.*", "*.*", 0)
SuchName.s = InputRequester("Klassennamen suchen!", "Bitte den zu suchenden Windows-Klassennamen eingeben.", "WindowClass")
Repeat
  NeuerName.s = InputRequester("Neuer Klassenname!", "Windows-Klassennamen eingeben. (Länge: 11 Zeichen)", "MeinFenster")
Until Len(NeuerName) = 11
If FileSize(BinFile)
  If OpenFile(0, BinFile)
    length = Lof(0)     
    *FileBuffer = AllocateMemory(length)  
    If *FileBuffer
      bytes = ReadData(0, *FileBuffer, length)
      For i = 0 To bytes
        If PeekS(*FileBuffer+i, 11) = SuchName
          PokeS(*FileBuffer+i, NeuerName, 11, #PB_String_NoZero)
        EndIf
      Next i
      FileSeek(0, 0)
      WriteData(0, *FileBuffer, Lof(0))
    EndIf
    CloseFile(0)
  EndIf
EndIf
Wer es braucht.

Aber bei vielen PureBasic-Versionen (vorallem 32bit Versionen) steht der Name "WindowClass" überhaubt nicht direkt in der "window.lib"
Der Text steht ja sonst als Unicode dort drin. Sehr viel anderer Text ist aber Ascii.

Naja, es ist eigentlich SINNLOS und ich kann es auch niemanden empfehlen diesen Code, oder einen Hex-Editor, etc. zum verändern von PureBasic-System-Dateien zu verwenden.
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Assembler-Fragen

Beitrag von NicTheQuick »

Hat sich jemand mal die Lizenz von Purebasic durchgelesen und kann sagen, ob man diese Bibliotheken überhaupt ändern darf? Solche Änderungen werden meist verboten von vielen Softwareherstellern.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Assembler-Fragen

Beitrag von RSBasic »

Gibt es überhaupt irgendwo eine ausführliche Lizenz? Ich konnte nur in der Hilfe den Eintrag "Rechtliches" finden.
Dort steht nur, dass alle Bestandteile, Bibliotheken und alle Binär-Dateien von Fantaisie Software urheberrechtlich geschützt seien, aber nicht explizit, dass man diese nicht modifizieren darf. Aber muss man überhaupt explizit hinschreiben, dass es nicht erlaubt ist?
Aber selbst wenn es erlaubt wäre, würde ich die Dateien eh nie verändern. Dafür gibt es bessere Lösungen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Assembler-Fragen

Beitrag von DarkDragon »

Werden nicht im Windows PB Installer die Lizenzbedingungen angezeigt?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten