AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of Char Frage

Ein Thema von Bernd29bln · begonnen am 29. Sep 2009 · letzter Beitrag vom 29. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#1

Array of Char Frage

  Alt 29. Sep 2009, 11:33
Hallo,

Ich möchte aus einer ini hex werte lesen, das klappt sehr gut. In der ini sind diese Hex werte unterschiedlich lang. bislang hab ich es so gelöst.

Delphi-Quellcode:
var
  ss:= WideString;
...

ss:= chr(idx[0]) + chr(idx[1]) + chr(idx[2]) + chr(idx[3]) + chr(idx[4]); <---
Wie bekomme ich das dynamischer hin mit ch: array of char z.B.

Weis jemand Rat?

Gruß Bernd

[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:35
Wie ist idx definiert, und wie wird es befüllt?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:38
also rein logisch ginge es natürlich so
Delphi-Quellcode:
ss := '';
for i := 0 to High(idx) do
  ss := ss + chr(idx[i]);
pratisch aber einfach alles kopieren.
! aber Achtung, die Elemente in idx müssen hierfür genauso groß sein wie ein Char.
Delphi-Quellcode:
//SetLength(ss, Length(idx));
//MoveMemory(ss[1], Length(idx) * SizeOf(Char));
ups, hab das WideStirng übersehn
Delphi-Quellcode:
SetLength(ss, Length(idx));
MoveMemory(ss[1], Length(idx) * SizeOf(WideChar));
// bzw.
SetLength(ss, Length(idx));
MoveMemory(ss[1], Length(idx) * 2));
Aber idx[i] muß hier natürlich genau 2 Byte aka SizeOf(WideChar) groß sein
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:39
Allerdings ist ein WideString kein nativer Delphistring. Deshalb besser mit nativen Typ arbbeiten und dann zuweisen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#5

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:42
Zitat von mkinzler:
Allerdings ist ein WideString kein nativer Delphistring. Deshalb besser mit nativen Typ arbbeiten und dann zuweisen
och, der Vorteil von WideString ist, daß er gegenüber von AnsiString/UnicodeString keine Referenzzählung besitzt, also man diesbezüglich mal nix beachten muß
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:43
Ich würde mich aber auf die interne Implementierung nicht verlassen
Markus Kinzler
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#7

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:45
Hallo,

Vielen Dank für die Tips.

Ich lese die ini in eine stringlist (sl) ein, dann wird wird sl convertiert in ein integer (idx),
und dieser wiederum dann als chr zum Drucker gesendet das Klappt auch und wird auch ausgeführt.

Nur ebend das es dynamischer werden muss.

Gruß bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:48
Verwende doch StringList.Text/DelimitedText
Markus Kinzler
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#9

Re: Array of Char Frage

  Alt 29. Sep 2009, 11:51
In der ini stehen die hex werte so drin: 1d,33, usw. in der stringlist schreibe ich sie mit commatext und hänge jedem noch ein $ vorne dran um sie dann als integer zu convertieren.

gruß bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#10

Re: Array of Char Frage

  Alt 29. Sep 2009, 12:17
Warum nutzt di eigentlich nicht TIniFile + .ReadBinaryStream und ließt es in einen Stream ein ... von dem Stream aus, kannst du es dann dahin schreiben, wie/wo du willst.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 09:39 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