Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   dynamische Records/Verbände (https://www.delphipraxis.net/86711-dynamische-records-verbaende.html)

Stöffi 18. Feb 2007 12:10


dynamische Records/Verbände
 
Hallo Zusammen!

Habe folgendes Problem:
Muss für die Schule ein Projekt bearbeiten. Das Programm soll eine chemische Strukturformel einlesen und sie dann so analysieren, dass der systematische Namen (nach IUPAC) ausgegeben werden kann.

Problem:
Der Benutzer gibt in ein StringGrid die verschiedenen C-Atome etc. ein.
Diese müssen jetzt NACHEINANDER eingelesen und gespeichert werden. Genau da tritt mein Problem in Kraft. Hab keine Ahnung, wie ich die jetzt speichern soll. Brauche für jedes C-Atom die Nummer (als integer) und die Koordinaten (zweidimensionales Array).
Das wärs schon.

Hoffe, jemand kann mir weiterhelfen.
Kann auch gerne den Code mailen.

Cu
Stöffi

megaGOLDdeluxe 18. Feb 2007 14:25

Re: dynamische Records/Verbände
 
Zitat:

Zitat von Stöffi
Hallo Zusammen!

Habe folgendes Problem:
Muss für die Schule ein Projekt bearbeiten. Das Programm soll eine chemische Strukturformel einlesen und sie dann so analysieren, dass der systematische Namen (nach IUPAC) ausgegeben werden kann.

Problem:
Der Benutzer gibt in ein StringGrid die verschiedenen C-Atome etc. ein.
Diese müssen jetzt NACHEINANDER eingelesen und gespeichert werden. Genau da tritt mein Problem in Kraft. Hab keine Ahnung, wie ich die jetzt speichern soll. Brauche für jedes C-Atom die Nummer (als integer) und die Koordinaten (zweidimensionales Array).
Das wärs schon.

Hoffe, jemand kann mir weiterhelfen.
Kann auch gerne den Code mailen.

Cu
Stöffi

Deine Daten werden doch bereits in dem StringGrid gehalten. Wozu brauchst Du dann noch zusätzliche Variablen oder sogar ein Record-Objekt? Du kannst doch das StringGrid mit einer Schleife durch gehen, und Dir die Daten rauslesen, und damit jede denkbare Operation oder ähnliches, durchführen.

Delphi-Quellcode:
// hier ein kleines Beseispiel wenn klar ist, in wecher Spalte die Werte stehen.
function GehDurchReihen: Integer;
var
  iRunner: Integer; //Deine Laufvariable
begin
  Result := 0;
  for iRunner = 0 to DeinStringGrid.Rows -1 do
  begin
    Result := Result+StrToInt(DeinStringGrid.Cells[iRunner,0]);
                                                        // ^ steht für Spalte 0, also die Erste!
  end;
end;

// hier ein kleines Beseispiel wenn unklar ist, in wecher Spalte die Werte stehen.
function GehDurchReihen: Integer;
var
  iRunnerZeilen: Integer; //Deine Laufvariable für Zeilen
  iRunnerSpalten: Integer; //Deine Laufvariable für Spalten
begin
  Result := 0;
  for iRunnerSpalten = 0 to DeinStringGrid.Cols -1 do
  begin
    for iRunnerZeilen = 0 to DeinStringGrid.Rows -1 do
    begin
      // pseudo-code: wenn spalte = irgendwas dann
      //              mache folgendes ...
    end;
  end;
end;
Hoffe es hilft Dir...

MfG
Pierre

DP-Maintenance 18. Feb 2007 14:31

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 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-2025 by Thomas Breitkreuz