AGB  ·  Datenschutz  ·  Impressum  







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

2 Arrays in eins

Ein Thema von Chefx · begonnen am 1. Aug 2009 · letzter Beitrag vom 1. Aug 2009
Antwort Antwort
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#1

2 Arrays in eins

  Alt 1. Aug 2009, 22:12
Hallo DBs,

ich weiß nicht wo mein Fehler liegt (unten fehlererleuterung):

Delphi-Quellcode:
function arraycoder(html,space1:array1):string;
var i,l,p,a1,a2:integer; resstr,mode:string; next:boolean; arrayz:array of string;
begin
l:=length(html) + length(space1);
a1:=0;
a2:=0;
p:=0;
setlength(arrayz,l);
for i:=0 to l-1 do begin
      if (a1 < length(html)) and (p = strtoint(html[a1,1])) then
    begin
      arrayz[i]:=html[a1,0];
      result:=result+html[a1,0];
      p:=p+length(html[a1,0]);
      a1:=a1+1;
    end;
    if (a2 < length(space1)) and (p = strtoint(space1[a2,1])) then
    begin
      arrayz[i]:=space1[a2,0];
      result:=result+space1[a2,0];
      p:=p+length(space1[a2,0]);
      a2:=a2+1;
    end;
  end;
end;
und hab das erst in ein anderes VLC geschreiben und da hat es tatelos funktioniert!
wo liegt mein Fehler?

Hier nochmal der andere Code (erklärt was eigentlich die funktion macht):
Delphi-Quellcode:
function zweizueins : string;
var array1,array2:array of array[0..1] of string;arrayz:array of string; a1,a2,i,l,p:integer;
begin
//Anfang// das hier ist nur eine vorbereitung und gehört nicht zur eigendlichen function
//Das ausgangswort ist : "Mor<g>enk<affe>e"
setlength(array1,2);
setlength(array2,3);
array1[0,0]:='<g>';
array1[0,1]:='3';
array1[1,0]:='<affe>';
array1[1,1]:='9';

array2[0,0]:='Mor';
array2[0,1]:='0';
array2[1,0]:='enk';
array2[1,1]:='6';
array2[2,0]:='e';
array2[2,1]:='15';
//Ende// Dies wurde jetzt in zwei Arrays gespeichert
      // Die aufgabe der function ist es dies Fehlerfrei wieder in der
      // richtigen Reihenfolge in ein anderes Array zu schreiben
l:=length(array1) + length(array2);
a1:=0;
a2:=0;
p:=0;
setlength(arrayz,l);
for i:=0 to l-1 do begin
      if (a1 < length(array1)) and (p = strtoint(array1[a1,1])) then //Array1: hier wird geprüft
                                                                      //ob die Position gleich des berechneten Werts
    begin
      arrayz[i]:=array1[a1,0];
      result:=result+array1[a1,0];
      p:=p+length(array1[a1,0]); // neuberechnung der position
      a1:=a1+1;
    end;
    if (a2 < length(array2)) and (p = strtoint(array2[a2,1])) then //Array2: hier wird geprüft
                                                                    //ob Die position gleich des berechneten Werts
    begin
      arrayz[i]:=array2[a2,0];
      result:=result+array2[a2,0];
      p:=p+length(array2[a2,0]); // neuberechnung der position
      a2:=a2+1;
    end;
  end;
end;
Der Fehler ist :
Oben würde er nur Mor<g> anzeigen und unten (wo es ja funktioniert) wieder Mor<g>enk<affe>e.

Ich weiß aber nicht wo?
(die zwei sind ja identisch. ich hab bestimmt was übersehen, aber was?)

danke für antworten
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: 2 Arrays in eins

  Alt 1. Aug 2009, 23:33
Frage ha sich erledigt!

Die fiunktion ist einmanfrei!

Hat mit was anderem zu tum gehabt!
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  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 16:17 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