AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Adressbuch mit Stringgrid.

Ein Thema von GroZ · begonnen am 6. Aug 2015 · letzter Beitrag vom 10. Aug 2015
Antwort Antwort
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#1

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:20
vorher solltest Du Dir aber Gedanken über das Abspeichern, ggf. in einer Datei, machen.
Damit bist du imho schon einen Schritt zu weit. Der erste Gedanke sollte hier sein, wie die Daten im Programm repräsentiert werden. Ob die Daten dann gespeichert oder anderweitig ausgegeben werden, macht dann ja nicht so den Unterschied.

Die Gretchenfrage ist also: Sollen die Daten nur im Stringgrid* gehalten werden oder in einer Liste von Objekten**?

* Wenn es nur darum geht mit dem Stringgrid zu spielen ... vielleicht akzeptabel.
** In die Richtung gibt eine Menge spannendes Zeug zu lernen: Was sind Objekte? Wie verwalte ich meinen Speicher? Was für Datenstrukturen kann ich am besten für die Verwaltung der Daten benutzen?
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#2

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:25
Ich wollte die Tabelle in einer .txt Datei speichern. In etwa nach diesem Code:
Delphi-Quellcode:
procedure SaveStringGridToFile(StringGrid: TStringGrid; const FileName: String);
var
  F: TStringList;
  i: Integer;
begin
  F := TStringList.Create;
  try
    F.Add(IntToStr(StringGrid.RowCount));
    F.Add(IntToStr(StringGrid.ColCount));
    for i := 0 to (StringGrid.RowCount - 1) do
      F.Add(StringGrid.Rows[i].CommaText);
    F.SaveToFile(FileName);
  finally
    F.Free;
  end;
end;
Das ist natürlich nur ein Beispiel. Was ich jedoch nicht weiß in welche Datei die Tabelle gespeichert werden soll. ist .txt möglich?
Julian
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:33
ist .txt möglich?
Die Dateiendung ist nur ein Teil des Dateinamens: .txt ist genauso möglich wie .bin, .csv oder .adressen
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#4

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:55
Naja ich wills erstmal normal hinkriegen ohne speichern reicht erstmal
Aber ich glaub ich habs grad kaputt gemacht haha
Delphi-Quellcode:
procedure TForm1.HinzuBtnClick(Sender: TObject);
var i, x : integer;
begin
  x := 1;
  i := x + 1;
  AdresseGrid.Cells[i,1]:= Name.Text;
  AdresseGrid.Cells[2,1]:= Alter.Text;
  AdresseGrid.Cells[3,1]:= Wohnort.Text;
  AdresseGrid.Cells[4,1]:= Tel.text;
end;
Jetzt geht Name nicht mehr. Wie kann ich ihm sagen das er immer 1Zeile nach unten geht?
Julian

Geändert von GroZ ( 6. Aug 2015 um 13:07 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 13:12
Jetzt geht Name nicht mehr. Wie kann ich ihm sagen das er immer 1Zeile nach unten geht?
"Jetzt geht Name nicht mehr" ist keine aussagekräftige Fehlermeldung. Oben wurde dir bereits empfohlen, einmal die Online-Hilfe zum Stringgrid etwas genauer zu studieren. Dort würdest du die Antwort unweigerlich finden. Solche und weitere Fragen werden dir ebenfalls in den oben vorgestellten Video-Tutorials beantwortet. Dort könntest du all das lernen, was du hier bereits gefragt hast, und zwar von Anfang an. Damit wäre das Problem, daß du die Antworten, die dir hier gegeben werden, (noch) nicht verstehst, beseitigt.

Geändert von Perlsau ( 6. Aug 2015 um 13:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 13:30
Solche und weitere Fragen werden dir in den oben vorgestellten Video-Tutorials beantwortet.
Die Produktionsqualität ist für Delphi-Tutorials auf Youtube schon erstaunlich gut, aber ich weiß nicht ob ich mehr als eine halbe Stunde am Stück aushalten würde. Das hat so seine Längen, ein etwas kürzer geschnittenes* Format wäre imho angenehmer.
Aber gut, das ist wohl etwas OT und es ist schön, das es überhaupt Material gibt

* ~10-15min mit je einem einigermaßen griffigem Thema/Titel. Zum Beispiel muss man nicht zugucken, wie du durch deine Ordner navigierst.

Geändert von BUG ( 6. Aug 2015 um 13:35 Uhr)
  Mit Zitat antworten Zitat
GroZ

Registriert seit: 6. Jul 2015
Ort: Harz
167 Beiträge
 
Delphi 7 Personal
 
#7

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 14:28
Habs hingekriegt!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Grids, StdCtrls, ComCtrls, Menus;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Name: TLabeledEdit;
    Alter: TLabeledEdit;
    Wohnort: TLabeledEdit;
    Tel: TLabeledEdit;
    HinzuBtn: TButton;
    LoeschenBtn: TButton;
    AdresseGrid: TStringGrid;
    BeendenBtn: TButton;
    MonthCalendar1: TMonthCalendar;
    Panel3: TPanel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Speichern1: TMenuItem;
    Speichernunter1: TMenuItem;
    Nochnichtfertig1: TMenuItem;
    Schlieen1: TMenuItem;
    procedure BeendenBtnClick(Sender: TObject);
    procedure HinzuBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure LoeschenBtnClick(Sender: TObject);
    procedure Schlieen1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Name, Wohnort: string;
  Alter, Tel: integer;

implementation

{$R *.dfm}

procedure TForm1.BeendenBtnClick(Sender: TObject);
begin
//sleep(1000);
close;
end;

procedure TForm1.HinzuBtnClick(Sender: TObject);
var i : integer;
begin
  for i := 0 to AdresseGrid.RowCount-1 do // Name
  begin
    if AdresseGrid.Cells[1, i] = 'then
    begin
      AdresseGrid.Cells[1, i] := Name.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[2, i] = 'then // Alter
    begin
      AdresseGrid.Cells[2, i] := Alter.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[3, i] = 'then
    begin // Wohnort
      AdresseGrid.Cells[3, i] := Wohnort.Text;
      break;
    end;
end;

begin
  for i := 0 to AdresseGrid.RowCount-1 do
  begin
    if AdresseGrid.Cells[4, i] = 'then // Tel. Nummer
    begin
      AdresseGrid.Cells[4, i] := Tel.Text;
      break;
    end;

end;
end;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;

begin
  AdresseGrid.Refresh;
  AdresseGrid.ColWidths[0] := 25;
  AdresseGrid.Cells[1,0]:= 'Name';
  AdresseGrid.Cells[2,0]:= 'Alter';
  AdresseGrid.Cells[3,0]:= 'Wohnort';
  AdresseGrid.Cells[4,0]:= 'Telefon';
    for i := 1 to 20 do
    begin
      AdresseGrid.Cells[0,i]:= IntToStr(i);
    end;
end;

procedure TForm1.LoeschenBtnClick(Sender: TObject);
begin
  Name.Clear;
  Alter.Clear;
  Wohnort.Clear;
  Tel.Clear;
end;

procedure TForm1.Schlieen1Click(Sender: TObject);
begin
close;
end;

end.
Stufe 2: Speichern und Laden
Julian
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 16:26
Die Produktionsqualität ist für Delphi-Tutorials auf Youtube schon erstaunlich gut, ...
Immerhin, wenigstens etwas, wenn schon das Tutorial nix taugt, nicht wahr

... aber ich weiß nicht ob ich mehr als eine halbe Stunde am Stück aushalten würde.
Verlangt das denn jemand von dir? Also mir ist das egal, wie lange du durchhalten würdest oder ob du vorspulst oder gleich mit Teil 2 beginnst, weil du das in Teil 1 bereits alles weißt. Achso, ich vergaß, ich hab die Tutorials ja extra für dich gemacht, nicht wahr

Das hat so seine Längen, ein etwas kürzer geschnittenes Format wäre imho angenehmer.
Es steht dir frei, dir die Videos herunterzuladen und zu kürzen, wie es dir gefällt. Es steht dir auch frei, Kopien dieser Videos unter Angabe der Quelle wieder bei Youtube zu veröffentlichen. Ebenso steht es dir frei, selbst Video-Tutorials zu erstellen und bei Youtube hochzuladen. Oder glaubst du wirklich, mich interessiert das alles? Oder erwartest du etwa, daß ich die Videos jetzt extra für dich noch einmal überarbeite? Mach mal selber eins, dann weißt du, wovon du redest.

Aber gut, das ist wohl etwas OT und es ist schön, das es überhaupt Material gibt
Ist es in der Tat. Ich habe die Video-Tutorials nicht hier angeführt, um sie von dir durch den Kakao ziehen zu lassen, sondern um dem TE sowie anderen Anfängern einen Einstieg anzubieten. Du jedoch schreckst die Leute davon ab, aus welchen Gründen auch immer, ich will deine Motive nicht wirklich wissen.

10-15min mit je einem einigermaßen griffigem Thema/Titel. Zum Beispiel muss man nicht zugucken, wie du durch deine Ordner navigierst.
Und du weißt natürlich ganz genau, welchen Kenntnisstand ich beim Rezipienten voraussetzen darf, nicht wahr
Es steht dir frei, vorzuspulen, wenn du dich langweilst. Noch einmal: ich habe die Videos nicht deinen speziellen Bedürfnissen, die mir zum Zeitpunkt der Aufnahme übrigens vollkommen unbekannt waren, entsprechend erstellt. Falls ich weitere Videos aufnehme, werde ich das weiterhin so machen, wie ich es für richtig halte (außer du zahlst dafür, dann strenge ich mich auch etwas an und lasse mir von dir vorschreiben, wie ich Videos zu gestalten habe). Ich bin kein Profi und es kommt mir vor allem darauf an, den gewünschten Inhalt rüberzubringen und nicht, ein hollywoodreifes Filmdebut zu geben. Es sind Amateurvideos!

Geändert von Perlsau ( 6. Aug 2015 um 16:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 15:27
[OT]
vorher solltest Du Dir aber Gedanken über das Abspeichern, ggf. in einer Datei, machen.
Damit bist du imho schon einen Schritt zu weit. Der erste Gedanke sollte hier sein, wie die Daten im Programm repräsentiert werden. Ob die Daten dann gespeichert oder anderweitig ausgegeben werden, macht dann ja nicht so den Unterschied.

Die Gretchenfrage ist also: Sollen die Daten nur im Stringgrid* gehalten werden oder in einer Liste von Objekten**?

* Wenn es nur darum geht mit dem Stringgrid zu spielen ... vielleicht akzeptabel.
** In die Richtung gibt eine Menge spannendes Zeug zu lernen: Was sind Objekte? Wie verwalte ich meinen Speicher? Was für Datenstrukturen kann ich am besten für die Verwaltung der Daten benutzen?
Bevor wir uns die Köpfe einschlagen, und den TE verwirren, mir erscheint es logischer die wie auch immer, erfassten Daten zunächst einmal auf einem Datenträger abzulegen und dann wieder einzulesen. [und sei es als String]
Die eigentlich wichtige Frage hast Du leider nur verschämt gestellt, wobei meiner Meinung nach, die Datenstruktur automatisch alles andere nach sich zieht, aber gut lassen wir das hier.

Gruß
K-H
Erst einmal mit den visuellen Komponenten herumzuspielen und ein paar schnelle Erfolge zu haben ist auch nicht so verkehrt
Den Schrott den ich früher zusammenprogrammiert habe ... da wäre eine Adressverwaltung deutlich sinnvoller gewesen.
Jeder hat eine Vergangenheit

[/OT]
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 ( 6. Aug 2015 um 15:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 15:38
Mit viel Euphorie erstmal wild rumwurschteln, das muss und darf auch mal sein. Trockene Hilfetexte, Lehrbücher und Turtorials durchackern kommt zwangsläufig sowieso. Allerdings müssen wir glaub nicht alle bei den ersten Gehversuchen bis ins Detail dran teilnehmen. Wenns eine spezielle Frage gibt, wo du definitiv mit den o.g. trockenen Sachen nicht weiter kommst, helfen wir da sicher wieder gerne weiter.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:11 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