![]() |
problem mit 'Array' und 'daynamic array'
hey,
ich möchte in einem Array die Elemente Sortieren und da hab ich das hier für geschrieben :
Delphi-Quellcode:
Aber ich habe ein Problem nämlich, dass ich die Fehlermeldung bekomme :
function Fu_Ar_Termine_Sortieren(var StrArray : Array of String) : boolean;
var Boo_Var : boolean ; Zwi_Array : Array of String ; i : integer ; y : integer ; begin Boo_Var := True ; Zwi_Array := StrArray; // <= hier Fehler for i := 1 to High(Zwi_Array) - 1 do begin for y := 1 to PosEx('>',Zwi_Array[i],(Pos('>',Zwi_Array[i]))+1) do begin If Zwi_Array[i][y] > Zwi_Array[i-1][y] Then begin ArrayPlätzeTauschen(Zwi_Array,i,i+1); boo_Var := false ; break; end; end; end; if not Boo_Var = True then begin Fu_Ar_Termine_Sortieren(Zwi_array); end; StrArray := Zwi_Array; // <= hier Fehler end; [Pascal Fehler] U_normale_Termine.pas(172): E2010 Inkompatible Typen: 'dynamic array' und 'Array' ich verstehe aber (schon wieder mal ) nicht woran es liegt. Es sind doch beides dynamic Array's oder nicht ? |
Re: problem mit 'Array' und 'daynamic array'
Typisiere das Array einmal, dann sollte es funktionieren.
Delphi-Quellcode:
type TStrArray = array of string;
function Fu_Ar_Termine_Sortieren(var StrArray : TStrArray) : boolean; var Boo_Var : boolean ; Zwi_Array : TStrArray ; i : integer ; y : integer ; begin Boo_Var := True ; Zwi_Array := StrArray; // <= hier Fehler for i := 1 to High(Zwi_Array) - 1 do begin for y := 1 to PosEx('>',Zwi_Array[i],(Pos('>',Zwi_Array[i]))+1) do begin If Zwi_Array[i][y] > Zwi_Array[i-1][y] Then begin ArrayPlätzeTauschen(Zwi_Array,i,i+1); boo_Var := false ; break; end; end; end; if not Boo_Var{ = True *pfui*} then begin Fu_Ar_Termine_Sortieren(Zwi_array); end; StrArray := Zwi_Array; // <= hier Fehler end; |
Re: problem mit 'Array' und 'daynamic array'
danke tu ich :)
hätte ich jetzt auch drauf kommen könn den fehler hab ich schon oft hier gefragt und erkenne immer noch nicht, dass es daran liegt -.- danke :) |
Re: problem mit 'Array' und 'daynamic array'
Zitat:
|
Re: problem mit 'Array' und 'daynamic array'
jap
danke :) ps. ihr wisst nicht zufällig woran es liegt, dass der algorithmus trotzdem nicht funktioniert ? er tauscht jetzt wahlos so lange elemente bis ich einen stacküberlauf bekomme ... -.- |
Re: problem mit 'Array' und 'daynamic array'
Kann es evtl daran liegen, dass du Referenzen erzeugst?
Probier mal:
Delphi-Quellcode:
:wink:
Zwi_Array:=copy(StrArray);
|
Re: problem mit 'Array' und 'daynamic array'
ne daran liegt es jetzt nicht mehr
also das mit den arrays funktioniert jetzt nur irg. muss in der logik des algorithmus's noch nen fehler sein.. er tauscht nämlich einfach alle möglichen elemente miteinander und nicht nur die die auch getauscht werden müssen... Weiß jemand woran es liegt ? wo der Fehler in der Idee ist ? |
Re: problem mit 'Array' und 'daynamic array'
*Push*
|
Re: problem mit 'Array' und 'daynamic array'
Überleg dir doch mal, wie Du zwei Zeilen vergleichst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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