Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Tabelle erstellen (https://www.delphipraxis.net/72846-tabelle-erstellen.html)

la.reunion 7. Jul 2006 22:26


Tabelle erstellen
 
Nabend,
ich habe ein kleines Problem ich möchte gerne soeine Tabelle erstellen wie kann ich soetwas machen?
Ich habe bis jetzt kein passenden thread dafür gefunden wo soetwas erläutert ist.
WIe kann ich dann die einzelnen Werte definnieren sprcih ich habe 3 edits und jedes edit fügt einen wert der liste hinzu!
Danke Schonmal Gruß La.Reunion

http://img439.imageshack.us/img439/1...elle4wn.th.jpg

mkinzler 7. Jul 2006 22:29

Re: Tabelle erstellen
 
Funktioniert mit
-StringGrid
-DBGrid
-ListView

la.reunion 7. Jul 2006 22:30

Re: Tabelle erstellen
 
Danke für die antwort!
Wie kann ich das dabnn mit den werten lösen?
bei stringgrid kann ich aber die oberste zeilenhöhe nciht verändern!

Gruß La.Reunion

mkinzler 7. Jul 2006 22:32

Re: Tabelle erstellen
 
Zitat:

Zitat von la.reunion
Danke für die antwort!
Wie kann ich das dabnn mit den werten lösen?

Pro Edit eine Zeile oder eine Spalte der Tabelle?
Zitat:

bei stringgrid kann ich aber die oberste zeilenhöhe nciht verändern!
???

Zacherl 7. Jul 2006 22:34

Re: Tabelle erstellen
 
Nimm am Besten TListView. Mit Doppelklick auf die Komponente kannst du die Spalten editieren. ViewStyle muss auf vsReport stehen. GridLines kannst du aktivieren, um Linien zwischen den einzelnen Zellen zu sehen.

Florian

la.reunion 7. Jul 2006 22:51

Re: Tabelle erstellen
 
Danke für die antworten werde ich gleich mal probieren!!!

la.reunion 7. Jul 2006 23:02

Re: Tabelle erstellen
 
Wie kann ich das jetzt verknüpfen(sprich wenn cih untwn bei description was eintage das es in der nächsten zeile kommt also das jedesmal eine neue zeile asugewählt wird und da der textt reinkommt?)

http://img225.imageshack.us/img225/5...eneu3ag.th.jpg

DANKE
Lg La.Reunion

mkinzler 7. Jul 2006 23:06

Re: Tabelle erstellen
 
Dir erste Spalte mit .Items.Add. Die weiteren Spalten dann als SubItems der ersten Spalte.

la.reunion 7. Jul 2006 23:10

Re: Tabelle erstellen
 
Ok das hab cih soweit und die dritte spalta dann?

Was ist wenn ich dann mit der Zeile fertig bin wie kann cih ihm dann sagen das er mit einer neuen anfangen soll?

Lg La.Reunion

DANKE


EDIT: AH OK AMCHT ER VON ALLEINE DAS MIT DER NÄCHSTEN ZEILE!!

mkinzler 7. Jul 2006 23:14

Re: Tabelle erstellen
 
Eine Zeile wird wie folgt gesetzt:
Delphi-Quellcode:
    item := ListView.Items.Add;
    item.Caption := edit1.text; //Description
    item.SubItems.Add(Edit2.Text'); //Paswort
    item.SubItems.Add(Edit3.Text'); //Link

la.reunion 7. Jul 2006 23:15

Re: Tabelle erstellen
 
danke!!!

als was muss item deklariert werden?
(wei kann die liste dann gesichcert oder geladen werden?

pacman1986 7. Jul 2006 23:34

Re: Tabelle erstellen
 
Delphi-Quellcode:
item :Tlistitem;
zur anderen frage wuerde ich mir entweder ne schleife bauen :) naja geht bestimmt auch anders.

la.reunion 7. Jul 2006 23:42

Re: Tabelle erstellen
 
beim compilieren kommt folgender fehler :-(

[Fehler] Unit1.pas(82): Nicht abgeschlossener String
[Fehler] Unit1.pas(83): ')' erwartet, aber Bezeichner 'item' gefunden
[Fehler] Unit1.pas(83): Nicht abgeschlossener String
[Fehler] Unit1.pas(85): ')' erwartet, aber 'END' gefunden
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden



Edit: es funktioniert da waren nur noch zwei apostrophe drin!
DANKE FÜR EURE HILFE!

la.reunion 8. Jul 2006 00:07

Re: Tabelle erstellen
 
Weiß jemand wie man ein TListVIew speichern bzw laden kann?

Danke Lg lA.Reunion

mkinzler 8. Jul 2006 09:32

Re: Tabelle erstellen
 
Zitat:

als was muss item deklariert werden?
Da hätte die die Delphi-Hilfe (Autovervollständigung) schnell geholfen.
Zitat:

Weiß jemand wie man ein TListVIew speichern bzw laden kann?
Muß Imho manuell erfolgen. In diesem Fall wäre der Einsatz einer DB und Ansicht in DBGrid zu überlegen.

la.reunion 8. Jul 2006 16:32

Re: Tabelle erstellen
 
mh ok kann mir das bitte jemand erklären mit dbs hba ich mich noch nich beshcäftigt!


Wäre cool!

Danke Lg La.Reunion

mkinzler 8. Jul 2006 19:47

Re: Tabelle erstellen
 
Wiviele Datensätze erwartest du?

la.reunion 8. Jul 2006 19:54

Re: Tabelle erstellen
 
Du meinst Zeilen?

Wenn ja dann solltens schon um die 100 sein.

Wenn nicht müsstest du mir sagen was du mit datensätzen meinst!

Danke

Lg La.Reuinion

mkinzler 8. Jul 2006 19:57

Re: Tabelle erstellen
 
Ja ein datensatz ist eine Zeile. In diesem Fall könntest du es mit einem CSV-DataSet machen. Hierbei wird eine CSV-Datei als Datenbanktabelle betrachtet. Hast du die Jedi-Komponenten?

la.reunion 8. Jul 2006 19:58

Re: Tabelle erstellen
 
ne aber die sind doch sicher kostenlos oder?

die heir hab ich mal geloaded!
http://sourceforge.net/project/showf...group_id=45786

mkinzler 8. Jul 2006 20:04

Re: Tabelle erstellen
 
Ja, die Komponenetensammlung meinte ich. Dort gibt es doe Komponente TJvCsvDataSet die eine CSV-Datei als DataSet kapselt. Installiere JVCL mal.

la.reunion 8. Jul 2006 20:05

Re: Tabelle erstellen
 
ok hab ich gemacht


EDIT: ...DataSet hab ich jetzt auf der Form

mkinzler 8. Jul 2006 20:09

Re: Tabelle erstellen
 
In der Eigenschaft .CSVFieldDef kannst du nun die Struktur der der Datei/des DataSets anlegen.

la.reunion 8. Jul 2006 20:15

Re: Tabelle erstellen
 
ok als string hab cihs jetzt gemacht ist das so richtig?
Was muss ich als nächstes amchen?


EDIT: GEILE KOMPONENTEN HATS DA :-D danke

mkinzler 8. Jul 2006 20:18

Re: Tabelle erstellen
 
Nach dem du die gewünschten felder im DataSet erzeugst hast kannst du dann eine TDataSource-Komponente auf die Form legen und diese über die Eigenschaft .DataSet mit dem CSVDataSet verbinden. Dann ersetzt du den Listview durch ein DBGrid und setzt dessen Eigenschaft .DataSource auf die DataSource.

la.reunion 8. Jul 2006 20:27

Re: Tabelle erstellen
 
Ok soweit hab ichs gemacht Danke schonmal :-)

Nur wie kann ich da jetzt werte hinzufügen(Bei der DBGrid) und wie mache cih dann weiter das das übergeben wird und gespeichert wird?

DANKE NOCHMALS!

mkinzler 8. Jul 2006 20:34

Re: Tabelle erstellen
 
Ein DataSet hat die Eigenschaften .Insert, .Append, .Cancel, .Post mit denen man neue Datensätze ans Ende, an die aktuelle Position hinzufügen kann. Du kannst hierbei entweder die Edits durch DBEdits ersetzen oder die Werte der Edits in das DataSet kopieren (Z.B. mit
Delphi-Quellcode:
CSVDataSet.FieldByName('Link').Value := Edit3.Text;
oder durch Erzeugen eines Zugriffsfeld un setzten mit
Delphi-Quellcode:
CsvDataSetLink.value := Edit3.Text;
)

la.reunion 8. Jul 2006 20:48

Re: Tabelle erstellen
 
Er gibt den Fehler aus
Das feld link wurde nciht gefunden!

Was muss ich ändern? wie muss denn FieldDef definiert werden?

mkinzler 8. Jul 2006 20:51

Re: Tabelle erstellen
 
Zitat:

Das feld link wurde nciht gefunden!
Im Beispiel bin ich davon ausgegangen, das das feld so heißt.
Zitat:

Was muss ich ändern? wie muss denn FieldDef definiert werden?
Mach mal nen Doppelklick auf die Eigenschaft, dann wird eine FeldEditor geöffnet.

la.reunion 8. Jul 2006 20:55

Re: Tabelle erstellen
 
Jaja das feld heisst auch link

vlt könntest du dir mal den code angcken und mir sagen was ich falsch gemacht hab.
Ich habs mal kurz geuppt

http://rapidshare.de/files/25311196/Tabelle.rar.html

Danke für die Hilfe/Mühe

mkinzler 8. Jul 2006 20:57

Re: Tabelle erstellen
 
Könntest du den Code hier als attachment an den Beitrag hängen?

la.reunion 8. Jul 2006 21:30

Re: Tabelle erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
jop
Delphi-Quellcode:
  TForm1 = class(TForm)
    JvCsvDataSet1: TJvCsvDataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    JvCsvDataSet1LINK: TStringField;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
JvCSVDataSet1.FieldByName('Link').Value := Edit2.Text;
end;

end.

EDIT: ...da sieht man ja nciht viel nur dne code von dir!Hatte verpeilt das das ja hier geht :-)

mkinzler 8. Jul 2006 21:35

Re: Tabelle erstellen
 
Am besten das ganze Projekt als Anhang an den Beitrag hängen. (Ich mag RS nicht!)

la.reunion 8. Jul 2006 21:55

Re: Tabelle erstellen
 
do habs hochgeladen hoffe du kannst mir helfen(davon bin ich überzeugt):-D

mkinzler 8. Jul 2006 22:12

Re: Tabelle erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
So geht es.

-Es war nur ein Feld angelegt
-Es war kein Dateinamen angegeben
-DataSet war geschlossen
-Hab auch nich Storedef aktiviert (Felder werden als Header in datei geschrieben).
-Append/Post hat gefehlt.

la.reunion 8. Jul 2006 22:16

Re: Tabelle erstellen
 
Ok vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 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