![]() |
2 Arrays in eins
Hallo DBs,
ich weiß nicht wo mein Fehler liegt (unten fehlererleuterung): :gruebel:
Delphi-Quellcode:
und hab das erst in ein anderes VLC geschreiben und da hat es tatelos funktioniert!
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; wo liegt mein Fehler? Hier nochmal der andere Code (erklärt was eigentlich die funktion macht):
Delphi-Quellcode:
Der Fehler ist :
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; 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 |
Re: 2 Arrays in eins
Frage ha sich erledigt!
Die fiunktion ist einmanfrei! Hat mit was anderem zu tum gehabt! :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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 by Thomas Breitkreuz