Announcement

Collapse
No announcement yet.

Zeigerverkettungen, Ausgabe in einem TStringGrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zeigerverkettungen, Ausgabe in einem TStringGrid

    Hallo!

    Ich brauche dringend Hilfe bei der Erstellung eines Projektes (Informatikunterricht). Unsere Aufgabe ist es, eine Datei zur Verwaltung eines Wettkampfes zu programmieren. Ich habe mich nun für eine Rennauswertung entschieden.

    Wir haben folgende Vorgaben:

    Datenstruktur:
    Code:
    type
      TZeiger = ^TFahrer;
      TFahrer = record
        name : string[50];
        zeit : real;
        next : TZeiger;
        end;
    
    var
      ExDatei : file of TFahrer;
      gespeichert : boolean;
    Ausgabe in einem TStringGrid: 50 Zeilen, 3 Spalten (s. Anhang screenshot1.GIF)

    Datenerfassung zum Einfügen geschieht mit einem eigenen Formular. (s. Anhang screenshot2.GIF)
    Einsortieren nach Zeit (Schnellster an erster Position).
    Kontrolle: Falls Fahrer schon vorhanden erscheint eine Meldung.

    Löschen von Fahrern (Zeilen) durch selektieren mit Maus. In der Liste soll der Datensatz gelöscht werden. Vor dem Löschen soll ein Dialog "Wirklich löschen?" abgefragt werden.

    Diese Liste soll in einem File gespeichert werden. (gespeichert wird natürlich zu true)

    FILE Of TFahrer soll in eine verkettete Liste übertragen werden. Jeder Datensatz muss mit new(<Zeiger>) angemeldet und neu verknüpft werden.

    Die aktuelle Projektversion steht im Anhang Autorennen.zip.

    Im Moment habe ich echt keinen Plan, wie das Funktionieren soll.

    BITTE HELFT MIR!!!

    CU Chris
    Attached Files

  • #2
    Hallo!

    Hmmmm Informatikunterricht hatte bei uns nichts mit "Finde einen Profi, ders Dir schreibt zu tun"

    Wenn Du konkrete Fragen hast wird Dir sicherlich geholfen aber das was sich da in der anhängenden ZIP datei befindet ist ja wohl etwas arg dürftig.

    Link für verkettete Listen:
    http://www.tutorials.de/forum/delphi...ete-liste.html

    BYE BERND

    Comment


    • #3
      Hi!

      So war das auch eigentlich gar nicht gemeint. Habe mich etwas verfehlt ausgedrückt. Kleine Hilfen würden schon vermutlicht mega gut weiterhelfen. Mir ist auch bewusst, dass mein aktueller Ansatz (s. *.zip) absolut nichts ist.

      Übrigens hilft Dein Link auf jeden Fall. Danke!

      Chris

      Comment


      • #4
        Hallo!

        Etwas Hilfe gibts:
        Du solltest eine Funktion haben, die prüft, ob es den Fahrer schon gibt.
        CheckDriver : boolean

        Einfach die Liste durchgehen und den Fahrernamen prüfen. Ein Test mit uppercase verhindert Probleme wegen der Gross/Klein Schreibung.

        Ein Funktion für das einsetzen eines neuen Fahrers.
        WriteDriver ( Name : String; Time : real);

        Die Liste durchgehen, bis die korrekte Position erreicht ist, Verkettung merken neuen Fahrer einsetzen und Verettung wieder herstellen...

        Dateien schreiben:
        http://oszhdl.be.schule.de/gymnasium...al_dateien.htm

        Rein prinzipiell kannst Du ein simple Textdatei oder INI Datei (TIniFile oder TRegistryIniFile (Delphi Hilfe)) erstellen, um die Fahrer abzuspeichern.
        Durch die Funktion WriteDriver kannst Du dei Fakrerliste ja jederzeit wieder komplett aufbauen. Also einfach Fahrername und Zeit abspeichern. INI Dateien haben den Charme, dass Sie mit einem Texteditor einfach zu bearbeie sind...

        Coden musst Du aber selber
        Viel Spaß!

        BYE BERND

        Comment

        Working...
        X