AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid Zeile per Mausclick auslesen

Ein Thema von klausmaus · begonnen am 27. Sep 2008 · letzter Beitrag vom 10. Okt 2008
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:07
Und das soll ja so sein, oder? Nun soll diese entsprechende Zeile gelöscht werden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#12

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:13
korrekt.
Zur Info: Soll als Beleg zum Thema Dateiarbeit ein Proggi schreiben.
Da ich Chemielehrer bin, versuch ich eine Chemikalienverwaltung (Zu- und Abgänge; Bestand). Da es ja mal passieren kann, dass eine Chemikale nicht mehr verwendet wird oder Fehleingaben passieren, soll dieser Datensatz gelöscht werden können.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:17
Dann versuch es mal ganz simpel mitStringGrid.Rows.Delete(StringGrid.Row); Sollte eigentlich so funktionieren, hab ich aber nicht ausprobiert, ich mache zu wenig mit StringGrid.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#14

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:23
Danke für den Tipp.
Melde mich Dienstag abend mit dem Ergebnis.

Schönen Sonntag noch.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#15

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:27
Zitat von DeddyH:
Dann versuch es mal ganz simpel mitStringGrid.Rows.Delete(StringGrid.Row); Sollte eigentlich so funktionieren, hab ich aber nicht ausprobiert, ich mache zu wenig mit StringGrid.
Funktioniert nicht.

Delphi-Quellcode:
type
  TMyStringGrid = class(TStringGrid);

procedure TForm1.Button1Click(Sender: TObject);
begin
  TMyStringGrid(StringGrid1).DeleteRow(ZeilenIndex);
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:38
Dann eben so
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#17

Re: StringGrid Zeile per Mausclick auslesen

  Alt 1. Okt 2008, 13:47
Hat etwas länger gedauert.
Zunächst mal danke für die Tipps. Als ich am Basteln war stellte ich fest:
Fehler in der Denke!
Ich mache Folgendes:
-Edits auslesen
-Datensätze in Datei schreiben
-anschließend wieder auslesen und im StringGrid ausgeben
Ergo: Durch Löschen im StringGrid ändert sich ja nichts am Dateiinhalt. Da ich nicht alles ummodeln wollte bin ich auf folg. Prozedur gekommen:
Delphi-Quellcode:
procedure TForm1.DatenLoeschenClick(Sender: TObject);
  var i:SmallInt;
  begin
  seek(ChemDat,0);
  Assignfile(ChemDatH,'Hilf');
  rewrite(ChemDatH);
  for i:=0 to Stelle-1 do
    begin
     read(ChemDat,Chem) ;
     write(ChemDatH,Chem);
     end;
     seek(ChemDat,Stelle+1);
    while not eof (Chemdat) do
    begin
    read(ChemDat,Chem);
    write(ChemDatH,Chem);
    end;
    // bis hierhin klappts
    seek(ChemDat,0) ;
    seek(ChemDatH,0);
    begin
    read(ChemDatH,Chem);
    write(ChemDat,Chem);
    closefile(ChemDatH);
    end;

  end;
Funktioniert auch fast. Datensatz wird gelöscht. In der "Hilfsdatei" ChemDatH fehlt dann der gelöschte Datensatz.
Mit der den letzten Read/Write-Befehlen will ich die aktualisierten Daten wieder in die Ursprungsdatei schreiben. Das tuts aber nicht. Weshalb?
2.Frage: Wie krieg ich die "Hilfsdatei" wieder gelöscht?
3.Frage: Mir scheint das Hin-und Herschreiben etwas umständlich zu sein. Gibts eine elegante Variante?
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#18

Re: StringGrid Zeile per Mausclick auslesen

  Alt 1. Okt 2008, 14:21
Moin, Moin.
Nun, vielleicht nicht 2x kopieren, sondern die Originaldatei nach dem ersten Kopieren löschen und die Hilfsdatei umbenennen. Also DeleteFile() und RenameFile() verwenden.

// edit: Buchstabendreher, da muss man bei einem Lehrer ja aufpassen
Ralph
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#19

Re: StringGrid Zeile per Mausclick auslesen

  Alt 1. Okt 2008, 14:32
Muss nachfragen: Du meinst folgendes:
-ChemDat (hat alte Daten) CloseFile und dann DeleteFile
anschließend
-ChemDatH (hat neue Daten) Closefile und dann Rename und dann Assignfile (brauch sie ja wieder geöffnet)?

//bin kein Krümelkacker
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#20

Re: StringGrid Zeile per Mausclick auslesen

  Alt 1. Okt 2008, 14:33
Jooo
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 06:44 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