AGB  ·  Datenschutz  ·  Impressum  







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

Datei auswerten

Ein Thema von motu · begonnen am 9. Sep 2004 · letzter Beitrag vom 10. Sep 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#21

Re: Datei auswerten

  Alt 10. Sep 2004, 08:41
Wenn man keene Ahnung hat kann det ja jarnischt wern.

Ich war immer drauf aus, die Datei in ein Array zu werfen und dann zu parsen. Dabei muß ich erst parsen und dann werfen. Naja dazu bin ick hier.

Ich probiers mal mit nem Codeschnipsel, den ich gefunden habe. Wenn ich da was nicht hinkriege, meld ich mich wieder.

Danke an alle die mir Zeit und Geduld opfern.
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#22

Re: Datei auswerten

  Alt 10. Sep 2004, 11:12
Jetzt hab ich erstmal meine Daten im Array.

Jetzt muß ich meine Spalten überprüfen ich dachte an:
Delphi-Quellcode:
    for i:=0 to m do //m - Zeilenanzahl
      begin
        if (data[17,i] > 10) and (data[18,i] > 10) and (data[19,i] > 10) then
        IrgendEinSpeicher := m;
      end;
So.
Problem 2: Was nehm ich dem am besten für einen Speicher um meine Zeilennummern zu merken?
Problem 3: Wie überprüf' ich, ob die Zeilennummern ein zusammenhängende Zahlenfolge sind?



edit: einige Sachen schon selbst rausgefunden

Wär es nicht auch gleich möglich, wenn ich die Zeilenummer habe, Werte der Spalten in eine Liste zu speichern? Wenn sie Zeilennummer springt, wird eine neue Liste begonnen. Meine Liste kann ich dann an meine Funktionen übergeben
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#23

Re: Datei auswerten

  Alt 10. Sep 2004, 11:29
Hallo Motu,
ich möchte die etwas korrigieren
Zitat:
Du hast mir ja Deine Dienste angeboten
Ich hatte dir meine Hilfe bei Problemen angeboten. Ich kann nicht dir dein Programm schreiben. Aber ich kann dir Hilfen, daß du deine Aufgabe lösen kannst. Wenn du so willst, sehe mich als Coach an.

Zum Fachlichen deines Beitrags: (in den vorherigen Beträgen wurde dazu bereits Source Code beschrieben)
1) Öffne die Datei mit AssignFile(filevar, dateiname) und Reset(filevar).
2) Lese die Daten mit Readln(filevar, stringbuffer) ein.
3) Lese jede Spalte mit seinem Feld ein und konvertieren die Stringabbildungen in Real-Zahlen.
4) Speichere die Zahlen jeder Zeile in ein eigenes Objekt mit dem Namen "TMessdaten". Das Objekt enthält als Objekteigenschaften und damit lokale Variablen die jeweiligen Spalten deiner Datei als Realzahlen.
Delphi-Quellcode:
  TMessdaten = class(object)
  private
     ...F_spaltennamen: Real;
  public
    property ...spaltennamen: Real
      read F_spaltennamen write F_spaltennamen
  end;
5) Speichere das Objekt mit dem TList-Objekt der VCL in einer internen Liste ab.
Delphi-Quellcode:
  FList := TList.Create;
  repeat
    ...zeile aus datei einlesen...
    FMessdatenzeile := TMessagen.Create;
    FList.Add(FMessdatenzeile);
    FMessdatenzeile.spaltenname := StringInZahl(HoleZahlEinerSpalte(eingeleseneZeile));
  until EOF(filevar);

  ...nun daten mit der internen darstellung beliebig bearbeiten...
  for i := 0 to FList.Count-1 do
  begin
   TMessdaten(FList.Item[i]).spaltenname .... berechnen, verrechnen etc.
   ....

  end;
6) Am Ende der Datei, schließe die Datei mit CloseFile(filevar).

Nun kannst du die Daten in deiner internen Liste, die pro Eintrag nun deine Zahlen einer Zeile enthält schnell und einfach bearbeiten.

Grüße Kay
Kay Golze
Wo Gold ist, muß es auch glänzen.
  Mit Zitat antworten Zitat
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#24

Re: Datei auswerten

  Alt 10. Sep 2004, 12:00
Also mein Array ist voll, die Datei auch schon wieder zu.
nun habe ich folgenden Idee:

Delphi-Quellcode:
  if (data[17,i]>10) and (data[18,i]>10) and (data[19,i]>10) then
    if saveint=i-1 then
// jeden werte einer spalte dieser Zeil in eine eigene liste
    saveint:=i;

    else
    saveint:=i;
Jetzt besteht das Problem, das die erste Zeile mit Werten nicht beachtet wird und ich hab grad keine Idee, wie ich, sobald ein neuer Wertblock anfängt, eine neue Liste beginne. Ich könnte ja in jedem Else-Fall den Listenindikator um eins erhöhen. dann haben alle zusammenhörenden Liste den gleich Indikator. Es ist doch bestimmt möglich leere Liste einfach wegfallen zulassen und die bestehenden einfach neu durchzunummerieren.
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 05:24 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