AGB  ·  Datenschutz  ·  Impressum  







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

Array kopieren (Array of array)

Ein Thema von SimonRap · begonnen am 27. Mär 2012 · letzter Beitrag vom 27. Mär 2012
Antwort Antwort
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#1

Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:03
Delphi-Version: 6
Hey Leute,
ich hab mal wieder ne Frage... und vorerst ist zu sagen, ich würde nicht fragen, wenn ich nicht schon alles mögliche durchprobiert hätte oder wenn intensives Suchen einer Lösung geholfen hätte^^

Zur Sache:
Ich habe nen Record
Delphi-Quellcode:
 
TCFile = record
  //...
  buf: array[1..1024] of char;
  //...
end;
//...
procedure xyz
var CFile: TCFile;
und an anderer Stelle habe ich
var bufs: array of array[1..1024] of char;
Nun möchte ich ganz einfach den Inhalt eines TCFiles in bufs übertragen...
 bufs[high(bufs)] := Copy (CFile.buf , 0 , SizeOf(CFile.buf) ); Da krieg ich nun die Fehlermeldung, dass Arrays und String inkompatible Typen sind^^
Ich steh grad ein wenig im Dunkeln... weiß jemand weiter?

Vielen Dank im Voraus,
Simon
Simon
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:07
Speicherbereiche kannst du mit Move Kopieren
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:08
@mkinzler: Aber bei array of array-Typen ging das doch nicht, oder?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#4

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:15
Vielen Dank für die schnelle Antwort
quasi Move ( CFile.buf , bufs[high(bufs)] , SizeOf(CFile.Buf) ) ; ? (Kann hier gerade nicht testen)
Und ist das mit Copy nicht möglich?
Simon
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#5

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:18
Abhilfe, um ganz auf Move & Co zu verzichten:
Delphi-Quellcode:
Type
  TCharBuffer = Array Of Char;
  TMyRecord = Record
    Buf : TCharBuffer;
  End;

...
Var
  SomeData :Array Of TCharBuffer;
...

SomeData[i] := MyRec.Buf;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#6

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:18
Delphi-Quellcode:
type
  TZeile = array[0..19] of char;
  TListe = array of TZeile;
var
  Zeile: TZeile;
  Liste: TListe;
begin
  ZeroMemory(@Zeile, SizeOf(Zeile));
  StrPCopy(@Zeile, 'Hallo Welt');
  SetLength(Liste, 1);
  StrCopy(@Liste[0], Zeile);
  ShowMessage(Liste[0]);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#7

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 15:23
Ist StrCopy besser als eine Zuweisung? Oder nur grüner?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Array kopieren (Array of array)

  Alt 27. Mär 2012, 17:28
Deine Lösung (Iwo Asnet) ist sicherer und diese würde ich hier auch empfehlen.

Um mit Pointern rumzuhantieren, muß man das schon können, ansonsten kann es schnell mal knallen.
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


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 10:33 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