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
Seite 2 von 5     12 34     Letzte » 
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#11

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 11:50
Hallo lieber Te,

falls ich an deinem Problem vorbei geantwortet habe, verzeihe mir dies!!

Wenn du etwas mehr als einmal ausführen möchtest, schreibst du eine Schleife.
Der Programmierer kennt nun drei (zwei) Arten von Schleifen.

Die Kopf-, die Fuss- und die (Zählschleife/Die Zählschleife ist ein Spezialfall der Kopfschleife),

Bei der Kopfschleife prüfst du erst, ob der Schleifenrumpf überhaupt durchlaufen wird. Bei der Fussschleife wird erst durchlaufen und dann wird geprüft, ob ein Zweites mal durchlaufen wird. Der Unterschied liegt also darin, dass eine Fussschleife zumindestens einmal durchlaufen wird.

hier ein Beispiel für eine Kopfgesteuerte Schleife

Delphi-Quellcode:
WHILE i <= 100 //Solange i<= 100 wird der Schleifenrumpf ausgeführt
begin
    Summe := Summe + i;
    i := i + 1;
end;
und hier für eine Fussgesteuerte Schleife
Delphi-Quellcode:
repeat
  ...
until Zahl >= 10; // Solange Zahl <10 wird diese Schleife ausgeführt
Bei einer Zählschleife (als Spezialfall für eine Kopfgesteuerte Schleife) würde das jetzt so aussehen,

Delphi-Quellcode:
for i := 0 to 4 do begin // Zähle von 0 bis 4 und tue irgendetwas
  Writeln(i);
end;
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
GroZ

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 11:54
So habe es jetzt schonmal hinbekommen die erste Zeile zu befüllen mit den Infos.
Hier mal mein quellcode:
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;
    procedure BeendenBtnClick(Sender: TObject);
    procedure HinzuBtnClick(Sender: TObject);
    procedure FormCreate(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);
begin
  AdresseGrid.Cells[1,1]:= Name.Text;
  AdresseGrid.Cells[2,1]:= Alter.Text;
  AdresseGrid.Cells[3,1]:= Wohnort.Text;
  AdresseGrid.Cells[4,1]:= Tel.text;
end;

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

begin
  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;

end.
Julian
  Mit Zitat antworten Zitat
GroZ

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:08
Eine Frage. Muss ich das er ne neue Zeile anfängt wenn ich neue Kontaktdaten eingebe ne schleife einbauen?
Julian
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#14

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:17
Jain. Wenn du nur soviele Zeilen hast, wie du bisher Namen/Personen erfasst hast, dann musst du das Grid nur um eine Zeile erweitern und in diese Zelle schreiben.

Wenn das Grid aber schon 100 Zeilen oder so hat, von denen nur die ersten 5 befüllt sind, dann müsstest du in einer Schleife durch die Zeilen gehen, bis du die erste leere findest und da dann deine Werte reinschreiben.

Ich möchte dir aber auch den Einwand von BUG bezüglich saubererer Datenhaltung ans Herz legen.
Ralph
  Mit Zitat antworten Zitat
GroZ

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:27
Ich habs hingekriegt das er den namen komplett bis runter schreibt also in jede Zeile vom Header "Namen" aber halt immer der gleiche...
Delphi-Quellcode:
procedure TForm1.HinzuBtnClick(Sender: TObject);
var i : integer;
begin
    for i := 1 to 20 do
    begin
      AdresseGrid.Cells[1,i] := Name.Text;
  AdresseGrid.Cells[1,i]:= Name.Text;
  AdresseGrid.Cells[2,i]:= Alter.Text;
  AdresseGrid.Cells[3,i]:= Wohnort.Text;
  AdresseGrid.Cells[4,i]:= Tel.text;
    end;
end;
Julian
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:38
Wenn Du nur einen Namen hast, den Du 20 mal schreibst, dann ist das zwangsläufig so.
Wenn Du das beherzigst was BUG geschrieben hat, dann hast Du ungefähr folgenden Ablauf
  1. Namen erfassen
  2. Inhalt des Namensfeld in Liste speichern
  3. vollständige Liste in StringGrid ausgeben
Beim letzten Punkt kannst Du dann Deine Kenntnisse über Schleifen einsetzen.
vorher solltest Du Dir aber Gedanken über das Abspeichern, ggf. in einer Datei, machen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#17

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 12:51
@GroZ:

Offensichtlich fehlt es dir völlig an den grundlegendsten Kenntnissen der Programmierung mit Delphi. Das ist weder ein Vorwurf noch sonst irgendwie schlimm, denn schließlich haben wir alle einmal damit angefangen, in Pascal zu programmieren. Diesem Mangel kannst nur du selbst abhelfen, jedoch auf mehrere Arten. Die gebräuchlichste und erfolgversprechendste Möglichkeit besteht darin, einige Anfänger-Tutorials durchzuarbeiten, um so ein grundlegendes Verständnis dafür, wie Programme in Delphi aufgebaut sind, zu entwickeln. Als Einstieg empfehle ich stets die Grundlagen-Tutorials vom Delphi-Treff, da sie sehr einfach gehalten und daher leicht verständlich sind. Dort findest du auch weitere Tutorials zu spezielleren Themen.

Vor einiger Zeit hab ich ein Video-Tutorial für Anfänger zum Programmieren einer Adreßverwaltung erstellt, das in 5 Teilen bei YouTube zu finden ist. Im jeweiligen Text zu den Videos findest du auch einen Download-Link für den Quellcode.

Videotutorial Adressverwaltung Teil 1
Videotutorial Adressverwaltung Teil 2
Videotutorial Adressverwaltung Teil 3
Videotutorial Adressverwaltung Teil 4a
Videotutorial Adressverwaltung Teil 4b

In diesen Videos erkläre ich ausführlich, wie man als Anfänger eine Adreßverwaltung entwickelt. Ich denke, damit solltest du klarkommen und eine Weile beschäftigt sein.

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

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 13:12
ok danke werde es mir mal anschauen
Julian
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

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

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 13: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
 
#20

AW: Adressbuch mit Stringgrid.

  Alt 6. Aug 2015, 13: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
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 13:22 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