AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi PChar, String und abgeschnittene Ergebnisse
Thema durchsuchen
Ansicht
Themen-Optionen

PChar, String und abgeschnittene Ergebnisse

Ein Thema von Zacherl · begonnen am 21. Jan 2007 · letzter Beitrag vom 21. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:17
Hi,

folgendes Problem: Ich habe eine Datei, die ich in einen MemoryStream lade und den Inhalt dann in einen String, so dass die Datei praktisch im String drin steht.

Bei dieser Stelle ist die Datei auch noch komplett. Wandle ich den String jetzt in einen PChar um, wird ab einer gewissen Stelle alles vom eigentlichen String abgeschnitten? Woher kommt das?

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:22
Was für ein Zeichen steht an der Stelle?
Markus Kinzler
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#3

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:24
Zitat von mkinzler:
Was für ein Zeichen steht an der Stelle?
meine Glaskugel sagt, da steht ein #0...

==> nimm n Array[0..size -1] of Byte oder n PByte mit manueller Speicherverwaltung...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:30
#0 ist sehr gut denkbar, weil ich eine Binärdatei einlese. Das Problem ist, dass ich die Datei erst als String haben, muss, um diesen zu encodieren und dann den encodierten String als PChar benötige, um ihn in eine Resource zu schreiben.

Klingt etwas umständlich die Datei erst in einen String zu schreiben und zu encodieren, muss aber sein.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:32
Meine Vermutung ging in die selbe Richtung, ersetze mal die #0 durch z.B. #32.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:35
Ich darf die Daten innerhalb des Strings nicht verändern. Ich selber hatte auch auf ein #0 getippt. Ich muss den String nur irgendwie nach dem encodieren als Pointer haben, so dass ich UpdateResource aufrufen kann.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:37
Dann lade sie doch in einen Buffer und übergebe einen Pointer auf diesen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:44
wie wandelst du das ganze zu einem PChar? Ich denke mal du musst der Funktion zum überschreiben einen Pointer übergeben. Dabei spielt es auch keine Rolle ob es ein typisierter Pointer ist oder nicht. Zusätzlich denke ich das du der Funktion auch dei Größe der Daten mitgibst und da wird einfach dein Fehler sein.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:44
Hallo Florian,

wenn das Encoding inplace stattfindet, dann lade die Daten in einen StringStream und verwende @DataString[1] für UpdateResource(). Dort wird kein PChar benötigt, da eine Größenangabe mit übergeben werden muss.

Grüße vom marabu
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#10

Re: PChar, String und abgeschnittene Ergebnisse

  Alt 21. Jan 2007, 12:47
Zitat von SirThornberry:
Zusätzlich denke ich das du der Funktion auch dei Größe der Daten mitgibst
Warum sollte man bei einem 0-Terminierten-String die Größe mitgeben müssen ?

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz