![]() |
Suchen, verarbeiten Daten aus Array
Hi Leute,
wie einige wissen habe ich mir ein Array aus einer Textdatei gefüllt ( ![]() Ich stehe nun vor dem Problem der Auswertung. In dem Array sind nun Auftrag erfasst. 0............1 Auftrag......Franktion 1234.........1 1234.........1 1234.........1 1235.........1 1236.........1 1236.........1 1236.........2 1236.........2 1237.........1 1237.........2 1237.........3 1237.........4 usw. Es gibt nun folgende Fälle (bei Aufträgen mit mehreren Zeilen): 1. wenn eine Auftragsnummer immer die gleiche Franktion hat (immer 1) dann soll jede Zeile erhalten bleiben 2. wenn die Franktion wechselt soll immer nur die erste Zeile erhalten bleiben auch wenn es so aussieht wie im Beipiel 1236. Wie würdet ihr an sowas heran gehen? Ich habe mir überlegt: ich schaue ob in feld[0,0] der gleiche Wert steht wie in feld[1,0] und in feld[0,1] auch gleich --> wenn nein, dann kpoiere ich feld[0,k] in ein neues Feld (zum weiterarbeiten). wenn ja dann kopiere ich alle Zeilen in ein neues Feld. Ist das vom Ansatz her richtig? Gibt es einen Befehl ganze Zeilen auf einmal von einem Array in ein nächste zu kopieren ohne schleife? |
AW: Suchen, verarbeiten Daten aus Array
Jetzt die Frage: Warum wolltest du das unbedingt in einem Array haben?
Ein Array mittendrin zu verändern ist nunmal nicht so "einfach". Bei einer TStringList ruft man einfach Delete auf und weg ist die Zeile, wärend man beim Array eben alle nachfolgenden Werte/Zeilen selber um 1 nach vorne verschieben und die Arraylänge anpassen muß. Also nein, es geht nicht ohne Schleife. (und wer mir jetzt mit [OH]Move[OH] kommt, der bekommt ein paar auf die Finger :warn: ) Bei dem hier vorliegenden Wissensstand und da es eh nicht auf Geschwindigkeit ankommt, würde ich hier davon abraten an dem Speichermanagerment der Strings rumzumanipulieren. @DeddyH: Jupp, und wenn man schon dabei ist, kann man dort auch gleich die Zeilen mit aufteilen, da hier ja jeweils zwei Werte in einer Zeile/String abgelegt sind. |
AW: Suchen, verarbeiten Daten aus Array
Und da die Daten ja in Beziehung zueinander stehen, bietet sich ein Record oder eine Klasse an. Das in eine Liste gepackt, dann kann man wunderbar sortieren, einfügen, löschen etc.
[edit] @Frank: Mit den Daten, die in Beziehung stehen, meinte ich ja Auftrag und Franktion (btw: was ist das? Sollte das vielleicht Fraktion heißen?). Diese beiden stellen dann die Felder des Records/der Klasse dar. [/edit] |
AW: Suchen, verarbeiten Daten aus Array
Hi,
ja es ist nicht "so einfach", habe ich bemerkt. komme auch schnell durcheinander mit den ganzen schleifen. stecke halt da nicht so drinn. fraktion soll es heißen ;) da glücklicherweise die zeilen immer gleich sind, werde ich mich mal an einer anderen variante versuchen (memofeld als zwischenlager). mal sehen ob das fruchtet. @deddy: ich habe mal deinen qt aus dem anderen thread versucht. kann es sein, dass bei delphi 2007 das ganze net dockt?
Code:
type
TDeinArray = array of array of string; da meckert er: doppelpunkt erwartet aber = gefunden mache ich einen doppelpunkt sacht er: bezeichner erwartet aber : gefunden ;) oder fehlt mir noch mehr? |
AW: Suchen, verarbeiten Daten aus Array
Mein Delphi 2007 schluckt das anstandslos. Hast Du es vielleicht an die falsche Stelle geschrieben?
|
AW: Suchen, verarbeiten Daten aus Array
Zitat:
hab es bei allen anderen unter type hingeschrieben, also ganz oben. |
AW: Suchen, verarbeiten Daten aus Array
Zitat:
Gruß K-H |
AW: Suchen, verarbeiten Daten aus Array
Code:
so und darunter habe ich es geschrieben. ist doch richtig oder?
type
TForm1 = class(TForm) StatusBar1: TStatusBar; OpenDialog1: TOpenDialog; BitBtn1: TBitBtn; BitBtn3: TBitBtn; Label1: TLabel; Label2: TLabel; BitBtn2: TBitBtn; Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); |
AW: Suchen, verarbeiten Daten aus Array
Noch innerhalb der TForm1-Deklaration? Da ist es falsch.
|
AW: Suchen, verarbeiten Daten aus Array
Zitat:
danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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