AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi <Return> in Stringgrid simulieren [vorerst erledigt]
Thema durchsuchen
Ansicht
Themen-Optionen

<Return> in Stringgrid simulieren [vorerst erledigt]

Ein Thema von Hansa · begonnen am 21. Jan 2005 · letzter Beitrag vom 22. Jan 2005
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

<Return> in Stringgrid simulieren [vorerst erledigt]

  Alt 21. Jan 2005, 13:47
Hi,

ich habe hier ein Stringgrid in welches ich manuell Daten eingebe. Ich bestätige die Eingabe mit Return und springe in die nächste Spalte.

Nun habe ich noch eine Suchfunktion. Momentan ist das 2. Form, auf der ich die Suchbegriffe eintrage und suche. Ist das richtige gefunden, so soll in einer Spalte der gefundene Wert eingetragen und sofort weiter in die nächste Spalte gesprungen werden. Ohne noch einmal Return zu drücken.

Delphi-Quellcode:
    frmSuch := TfrmSuch.Create(self);
    frmSuch.ShowModal;
    if frmSuch.gefunden then with sg do begin
      key := VK_RETURN;
      Cells [1,Row] := frmSuch.lbl.Caption;
      Col := 1;
      ch := chr (key);
      sgNrKeyPress(Sender,ch);
      key := ord (ch);
    end;
    frmSuch.Close;
Das ist im OnKeyDown der Hauptform und ich habe den Verdacht, daß es so nicht geht. Also Im OnKeyDown das OnKeyPress explizit aufzurufen. Oder kann man das so machen ? Stand der Dinge ist der, daß es auf einer Form geht und auf anderer nicht. Der Zusammenhang ist mir dabei noch unklar.

Wie sollte man so etwas im Prinzip machen ? Soll ich vielleicht nur eine Form verwenden ? Leider ist der Programmteil schon älter und ich weiß gar nicht mehr, warum überhaupt 2 Forms da sind. Ja, ich weiß, immer schön alles kommentieren.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#2

Re: <Return> in Stringgrid simulieren

  Alt 21. Jan 2005, 14:15
ich habe ein bißchenProbleme dein problem zu verstehen (das habe ch hier irgendwie viel zu oft)
Aber ich probiere es trotzdem mal:
Delphi-Quellcode:
var x,y:integer;
with form1.mystringGrid do
begin
  for x:=0 to ColCount -1 do for y :=0 to RowCount do if pos({Suchwort},Cells[x,y]) > -1 then ResultStringGrid.Cells[{Wohin im Resultgrid auch immer}] :=Cells[x,y];
end;
ist eiegtnlcih ein Einzeiler, passt nur nichtmehr auf den Bildschirm (bei mir zumindest)
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: <Return> in Stringgrid simulieren

  Alt 21. Jan 2005, 17:36
Äh Yankee. Es geht darum, etwas zu finden und dieses dem StringGrid richtig mitzuteilen und die entsprechende Zelle zu bestücken, wobei sie eben automatisch bestätigt werden soll. Nicht etwa, um in einem vorhandenen Stringgrid etwas zu suchen. 8) Steht aber alles in der Fragestellung oder wo liegen genau die Unklarheiten ?
Gruß
Hansa
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: <Return> in Stringgrid simulieren

  Alt 21. Jan 2005, 18:11
Delphi-Quellcode:
// in nächste Zeile gehen
StringGrid1.Row := StringGrid1.Row +1;

// in 2. spalte gehen
StringGrid1.Col := 1; // es wird von 0 an gezählt
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: <Return> in Stringgrid simulieren

  Alt 21. Jan 2005, 19:51
Sehr geehrter Herr Schmidt, so nicht ! Nein, ich habe mir heute den halben Mittag Dein Fehler-Tuto Assert usw. durchgelesen, um zu sehen, wie ich der Sache eventuell auf die Spur komme. Der Effekt wird mit Sicherheit durch meinen eigenen Code verursacht. Ich bräuchte nur eine gute Spur. Col := Col +1 nützt da nichts. Das kann ich schon.

Vielleicht noch was wichtiges : die Cols sind im OI eingestellt. Die Rows werden zur Laufzeit bei Bedarf erweitert.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#6

Re: <Return> in Stringgrid simulieren

  Alt 21. Jan 2005, 23:30
Zitat von Hansa:
Äh Yankee. Es geht darum, etwas zu finden und dieses dem StringGrid richtig mitzuteilen und die entsprechende Zelle zu bestücken, wobei sie eben automatisch bestätigt werden soll. Nicht etwa, um in einem vorhandenen Stringgrid etwas zu suchen. 8) Steht aber alles in der Fragestellung oder wo liegen genau die Unklarheiten ?
Sry, aber ich glaube ich kapier mal so garnicht, worum es geht. Wenn du mir den Hintergrund, warum du das überhaupt machen willst mal näher bringst, dann verstehe ich es vielleicht besser...
Bis jetzt aheb cih das so verstanden, dass du zwei StringGrids hast. In einem StringGrid sind gaaanz viele Daten. Wenn du eine Suche startest, sollen die Zellen, wo was gefunden wurde im zweitem StringGrid angezeigt werden...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: <Return> in Stringgrid simulieren

  Alt 22. Jan 2005, 00:24
Zitat von Hansa:
...Es geht darum, etwas zu finden und dieses dem StringGrid richtig mitzuteilen und die entsprechende Zelle zu bestücken, wobei sie eben automatisch bestätigt werden soll...
Es ging darum, zu suchen. Wie jetzt am besten ? Deshalb eine 2. Form zum suchen. Mit ein paar Edit-Feldern, die Suchbegriffe einzugeben und im Falle des erfolgreichen Auffindens der Daten, diese im Stringgrid anzuzeigen und automatisch weiter zu machen. Wo jetzt zwei Stringgrids herkommen sollen und gaaaanz viele Daten verstehe ich nicht so ganz.

Man beachte auch den Titel. Das Thema ist "vorerst erledigt". Das ganze geht momentan schon wieder und die Ursache ist auch eingekreist. Problematisch war, daß der Fehler sich schon ziemlich weit fortgepflanzt hatte. Es gilt eben konsequent : einmal OOP immer OOP ! Wer davon abweicht, der kann suchen. Da aber nun klar ist, woran es lag, ist das korrigieren an einer Stelle ausreichend und wirkt sich dann direkt überall aus.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:47 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