Autor Beitrag
erdalyyy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mi 15.03.06 12:42 
hi leute,
ich bins mal wieder, der ahnungslose ^^. Also ich hab ein problem wir machen gerade ein Projekt in der Schule undzwar artikelverwaltung. Man gibt z.b. artikelnummer usw. im stringgrid ein und drückt dann auf speichern das funz auch alles(wird in einer .dat datei gespeichert). aber wenn ich das programm öffne, dann zeigt der mir das nicht mehr an.

hier mein quelltext:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids;

type
  Tfartikelverwaltung = class(TForm)
    sgartliste: TStringGrid;
    lueberschrift: TLabel;
    bspeichern: TButton;
    bschliesen: TButton;
    procedure bschliesenClick(Sender: TObject);
    procedure bspeichernClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
 end;
 
tartsatz= record
          artnr:integer;
          artname:string[50];
          artekpreis:single;
          artvkpreis:single;
          artlager:integer;

  
  end;   //end of record

var
  fartikelverwaltung: Tfartikelverwaltung;
  vartsatz:tartsatz;         //Variable vom neuen Datentyp (record) angelegt
  vartdat:file of tartsatz;  //Dateivariable angelegt (bezieht sich zum record)
implementation

{$R *.DFM}


procedure Tfartikelverwaltung.bschliesenClick(Sender: TObject);
begin
close;
end;

procedure Tfartikelverwaltung.bspeichernClick(Sender: TObject);
var vzeile:integer;
begin
assignfile(vartdat,'artikel.dat');   //variable (vartdat) mit datei (artikel.dat) verknüpft
rewrite(vartdat);                    //eine neue datei (vartdat) angelegt und geöffnet

vzeile:=1;
repeat

      vartsatz.artnr:=strtoint(sgartliste.cells[0,vzeile]);  //von Monitor in RAM
      vartsatz.artname:= sgartliste.cells[1,vzeile];
      vartsatz.artekpreis:=strtofloat(sgartliste.cells[2,vzeile]);
      vartsatz.artvkpreis:=strtofloat(sgartliste.cells[3,vzeile]);
      vartsatz.artlager:=strtoint(sgartliste.cells[4,vzeile]);
      write(vartdat,vartsatz); //vom RAM auf HDD

      vzeile:=vzeile+1;                   //zählt die variable (vzeile) um eins nach oben
until sgartliste.cells[0,vzeile]='';     //zähl solange n1 nach oben bis die zeile leer ('') ist

closefile(vartdat)

end;



procedure Tfartikelverwaltung.FormActivate(Sender: TObject);
 var
   vzeile:integer;
begin
    sgartliste.cells[0,0]:='Artikelnummer';
    sgartliste.cells[1,0]:='Artikelname';
    sgartliste.cells[2,0]:='Einkaufspreis in €';
    sgartliste.cells[3,0]:='Verkaufspreis in €';
    sgartliste.cells[4,0]:='Lagerbestand';

end;

end.






DANKE IM VORRAUS!!!!!

Moderiert von user profile iconChristian S.: Titel geändert.
Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 15.03.06 12:49 
1) Änder mal den Titel
2) benutze mal [ delphi] [/ delphi] damit der QUellcode richtig dargestellt wird

zur Aufgabe. Du musst einfach das selbe machen was du auch beim SPeichern machst nur umgekehrt

d.h.

AssignFile
Reset (zum öffnen)

repeat
Read (zum auslesen)
until ...

CloseFile

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
erdalyyy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Mi 15.03.06 12:54 
user profile iconuall@ogc hat folgendes geschrieben:
1) Änder mal den Titel
2) benutze mal [ delphi] [/ delphi] damit der QUellcode richtig dargestellt wird

zur Aufgabe. Du musst einfach das selbe machen was du auch beim SPeichern machst nur umgekehrt

d.h.

AssignFile
Reset (zum öffnen)

repeat
Read (zum auslesen)
until ...

CloseFile


1. wie soll ich den titel nennen?
2. danke für info
3. wo soll ich denn repeat hinschreiben?
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 15.03.06 13:06 
1) Titel hatte nur Großbuchstaben, ist aber nu geändert
2)

sowas in der Art:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var f: File of tartsatz;
 a: tartsatz;
begin
  AssignFile(f,'bla.dat');
  Reset(f);
  while not eof(f) do
  begin
    Read(f,a);
    // hinzufügen zum grid
  end;
  CloseFile(f);
end;

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
pupu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 104

WinXP
Borland Delphi 7, Turbo Pascal 7
BeitragVerfasst: Di 26.09.06 14:27 
Titel: Per FileRead Highscore in Stringrid laden?
www.delphi-forum.de/....php?p=389863#389863
hatte den beitrag aus versehen hier rein gepostet wollte aber n neuene thread eröffnen... könnt ihr den beitrag löschen? oder kann ich das selbst? wenn ja wo?
JDKDelphi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 115
Erhaltene Danke: 22

WIN2000, XP, WIN 7 , UNIX, LINUX
Assembler für (Z8x, 68xxx,R6000,Intel), DELPHI 6 Enterprise, MAGIC eDeveloper V9+V10, C++, C#,VB, .NET, zertifizierter iBOLT-Programmierer
BeitragVerfasst: Di 26.09.06 14:34 
Titel: Stringgrid
Hallo,

Du solltest die Datei beim Starten des Programms auch laden und den Feldern des Stringgrids zuweisen.

Gruss

JDKDelphi