AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

WriteBinary Registry - Datenformat

Ein Thema von TKNU · begonnen am 19. Feb 2019 · letzter Beitrag vom 25. Feb 2019
Antwort Antwort
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#1

AW: WriteBinary Registry - Datenformat

  Alt 20. Feb 2019, 04:38
Hmm...

Habe erstmal eine lauffähige Version mit Umwegen.

- devmode per copymemory in ein Byte Array kopieren,
- dann dieses in ein 2. Array kopieren, aber in 2er Schritten und die 0 manuell einfügen


Probiere es morgen aber mal in der Fa. mit der aktuellen Version aus. Interessiert mich dann doch

Das ist murks....

D6 verwendet von GetPrinter immer per default die ANSI-Version, welche ein PRINTER_INFO_2 mit Ansi-Strings liefert.
Verwende stattdessen direkt GetPrinterW mit PRINTER_INFO_2W und Du erhälst alle Strings als WideSting, somit incl. des 2. Bytes je Char.
  Mit Zitat antworten Zitat
TKNU

Registriert seit: 27. Nov 2015
Ort: Mülheim a.d.Ruhr
12 Beiträge
 
#2

AW: WriteBinary Registry - Datenformat

  Alt 20. Feb 2019, 12:43
Perfekt - hat bestens funktioniert. Den Murks habe ich schon gelöscht
  Mit Zitat antworten Zitat
TKNU

Registriert seit: 27. Nov 2015
Ort: Mülheim a.d.Ruhr
12 Beiträge
 
#3

AW: WriteBinary Registry - Datenformat

  Alt 22. Feb 2019, 22:52
In diesem Zusammenhang noch eine Frage:

Gibt es eine Möglichkeit DevmodeA und DevmodeW gegenseitig zu konvertieren?
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#4

AW: WriteBinary Registry - Datenformat

  Alt 23. Feb 2019, 06:17
Hmm..

StringToWideChar
WideCharToString

....
  Mit Zitat antworten Zitat
TKNU

Registriert seit: 27. Nov 2015
Ort: Mülheim a.d.Ruhr
12 Beiträge
 
#5

AW: WriteBinary Registry - Datenformat

  Alt 24. Feb 2019, 16:33
Danke für die erneute Hilfe

Die Richtung StringToWideChar funktioniert ohne Probleme-

Die andere Richtung bekomme ich nicht hin - die Einträge dmDeviceName und dmforms haben den Dateintyp:

array[0..CCHDEVICENAME - 1] of WideChar;

Ich bekomme diesen Typ nicht mit WideCharToString konvertiert (falscher Typ). Was mache ich wieder falsch? Bei diesem Thema bin ich komplett durcheinander ….

Danke schon mal
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
715 Beiträge
 
Delphi 12 Athens
 
#6

AW: WriteBinary Registry - Datenformat

  Alt 25. Feb 2019, 11:17
Danke für die erneute Hilfe

Die Richtung StringToWideChar funktioniert ohne Probleme-

Die andere Richtung bekomme ich nicht hin - die Einträge dmDeviceName und dmforms haben den Dateintyp:

array[0..CCHDEVICENAME - 1] of WideChar;

Ich bekomme diesen Typ nicht mit WideCharToString konvertiert (falscher Typ). Was mache ich wieder falsch? Bei diesem Thema bin ich komplett durcheinander ….

Danke schon mal
WidecharToString erwartet einen PWidechar als input und Delphi ist normalerweise schlau genug bei einen array [0..x] of widechar automatisch die Addresse des ersten Zeichens zu verwenden. Falls das nicht klappt versuch mal, explizit zu sein:

S:= WidecharToString(PWidechar(@pDevmode^.dmDevicename[0]));
Peter Below
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz