AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi problem mit 'Array' und 'daynamic array'
Thema durchsuchen
Ansicht
Themen-Optionen

problem mit 'Array' und 'daynamic array'

Ein Thema von gangs-taas · begonnen am 2. Feb 2010 · letzter Beitrag vom 7. Feb 2010
Antwort Antwort
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 10:58
hey,
ich möchte in einem Array die Elemente Sortieren und da hab ich das hier für geschrieben :

Delphi-Quellcode:
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;
Aber ich habe ein Problem nämlich, dass ich die Fehlermeldung bekomme :
[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 ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:02
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;
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
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#3

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:07
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
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#4

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:12
Zitat von gangs-taas:
Aber ich habe ein Problem nämlich, dass ich die Fehlermeldung bekomme :
[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 ?
Nein, der StrArray ist kein dynamische Array sondern ein Open-array Parameter (siehe Onlinehilfe) und Zwi_Array ein dynamisches Array. Eine Lösung hat schon DeddyH beschrieben.
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#5

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:20
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 ... -.-
  Mit Zitat antworten Zitat
Spezi

Registriert seit: 14. Feb 2009
Ort: Deutschland ;-)
65 Beiträge
 
Delphi 2005 Personal
 
#6

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:24
Kann es evtl daran liegen, dass du Referenzen erzeugst?
Probier mal:
Zwi_Array:=copy(StrArray);
Wer Rechtschreibfehler findet darf Sie behalten
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#7

Re: problem mit 'Array' und 'daynamic array'

  Alt 2. Feb 2010, 11:28
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 ?
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#8

Re: problem mit 'Array' und 'daynamic array'

  Alt 6. Feb 2010, 22:55
*Push*
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: problem mit 'Array' und 'daynamic array'

  Alt 7. Feb 2010, 06:40
Überleg dir doch mal, wie Du zwei Zeilen vergleichst.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 08:53 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