![]() |
mit der löschmethode (DeleteRow) löscht man immer die unterste zeile der tabelle. wie stelle ich das so um, dass nur die zeile, die ich markiert habe gelöscht wird?
Grüße, dopeline :dancer: |
Hallo dopeline,
ich habe DeleteRow gerade getestet. Es wird genau die Zeile gelöscht, die im Paramter ARow übergeben wird. |
:( :( :( also irgentwie will das nicht...
und da gibt es keine andere möglichkeit?! :? dass er einließt, in welcher zeile er gerade ist und diese dann löscht. |
hy,
also saven kannstdu ein stringrid in eine csv datei so :
Delphi-Quellcode:
die passende funtion zum laden hab ich gerade nicht bei hand aber schicke dir sie so schnel es geht!
procedure TForm1.Button1Click(Sender: TObject);
var R, C : integeR; S : string; begin if SaveDialog.Execute then begin for R := 0 to sg.RowCount - 1 do begin S := ''; for C := 0 to sg.ColCount - 1 do S := S + sg.Cells[C,R] + ';'; delete(S,length(S),1); //loescht den ueberfluessigen ; lb.Items.Append(S); end; lb.Items.SaveToFile('SaveDialog.Filename'); end; end; cu |
Also das mit dem Speichern klappt schon wunderbar! jetzt ist noch dolgendes problem:
ich will (im laufenden programm) eine zeile markieren und diese dann mit einem button/short-cut entfehrnen. ich hab mir schon einige sachen ageschaut, aber da wurde immer nur die letzte (unterste) zeile der tabelle entfernt. man müsste gucken, welche zeile gerade markiert ist und sie dann löschen. (vielleicht mit onSelectCell ?) Gruß, dopeline |
Habe kein DeleteRow im StringGrid?
hmmm... eigentlich sollte das mit
StringGrid.DeleteRow (Stringgrid.row); gehen. Aber mein StringGrid hat die Methode DeleteRow nicht :?: Kann mir einer sagen warum? |
ich hab da noch ne frage:
wenn ich eine datei öffne bearbeite und dann wieder speichern will, erscheint immer der savedialog. beim abspeichern kommt dann die anfrage zum überschreiben (ist auch richtig so). das ist aber eher eine "Speichern unter"-Lösung. ich will, dass wenn ich ein dokument öffne, bearbeite und dann normal auf "speichern" (nicht auf "speichern unter") gehe, er das dokument am gleichen ort und mit dem gleich dateinamen abspeichert. (ohne den savedialog!). da müsste doch in einer variablen gespeichert werden, von wo die datei geöffnet wurde und wie sie heißt ==> und bei "normalem" speichern müsste er den savedialog weglassen. als dateipfad und dateiname springt dann die variable ein... geht das irgentwie so in der art? (oder auch anders) wenn ja, wie? Grüße, dopeline |
Das geht genauso, wie du es beschrieben hast. Warum programmierst du es nicht einfach und kuckst, was passiert? :roll:
|
ok habs hinbekommen. ich hab gesagt er soll beim öffnen die daten einlesen:
Code:
und beim "normalen" speichern guckt er, ob in "date" etwas drin steht.
datei:=opendialog1.filename;
wenn ja:
Code:
wenn nicht, kommt der saveialog.
SaveToFile(datei);
funktioniert super! |
wie mache ich es, wenn die datei erfolgreich (ohne savedialog) abgespeichert wurde, dass unten in der satusbar, für eine gewisse zeit, eine Meldung kommt (z.b."Das Dokument wurde erfolgreich gespeichert")?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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