Jak zrobić, by po dwukrotnym kliknięciu na wiersz w TStringGrid zachodziło zdarzenie.

0

Witam. Potrzebuję zrobic, cos takiego, aby po 2-krotnym nacisnieciu na wiersz w stringgridzie cos sie tam dzialo? Jak to zrobic..raczej DblClick na stringgridzie odpada, bo nawet jak na fixed nacisne to mi sie cos dzieje....

0

nie ma dblclick na wierszu - musisz obsłużyć dblclick dla grida i sprawdzać gdzie kliknięto np. tak

0

oki, a tak przy okazji jest jakas funkcja co zwraca True albo cos takiego, jezeli string jest liczba?

0
  • Val zwraca kod błędu, jeśli podczas konwersji takowy wystąpił,
  • TryStrToInt zwraca True, jeśli konwersja się powiodła, a jeśli nie to False;
    Mniej pytaj, a więcej szukaj i czytaj.
0

Jest TryStrToInt i poczytaj kursy z podstawami, to poznasz wiele innych ciekawych funkcji i rozwiązań.

EDIT: FP mnie ubiegł, bo miałem otwartą zakładkę z tym wątkiem dłuższą chwilę.

0

I jeszcze

TryStrToFloat
abrakadaber napisał(a):

musisz obsłużyć dblclick dla grida i sprawdzać gdzie kliknięto np. tak

Albo po prostu odczytać Col i Row.

0

wyskoczylo mi cos takiego:

[DCC Error] Unit3.pas(192): E2250 There is no overloaded version of 'TryStrToInt' that can be called with these arguments 

a moja funkcja wyglada tak

function poprawnosc: Integer;
begin
  if(TryStrToInt(Form3.Edit3.Text) = true) then
   poprawnosc:=1
  else poprawnosc := 0;
end; 

W tej funkcji bedzie wiecej tylko chodzi mi o samo to...

0

Czy Ty do 100 tysięcy niegooglujących leniuchów możesz jednak skorzystać z google, zanim zapytasz o cokolwiek? Wielką radość byś tym sprawił czytającym to forum. A poza tym konstukcja = True jest dopuszczalna, aczykolwiek lepiej pisać bez tego, a w przypadku sprawdzania czy coś - False po prostu stosować poprzedzenie sprawdzenia not. Pomijamy fakt, że @furious programming podal link do opisu tej fukncji, no ale po co kliknąc i przeczytać. Lepiej smarować na forum, z myślą "a co mi tam, olać google".

1

Twój kod @andrzejbodziuzbychujarek można skrócić do poniższego:

function Poprawnosc(): Integer;
begin
  Result := Integer(TryStrToInt(Form3.Edit3.Text, Result));
end;

chyba wiesz czym jest rzutowanie? Rzutowanie Boolean na Integer zwróci 0 jeśli False, jeśli True to 1; Na przyszłość klikaj w linki jakie podaję, bo po to je podaję żeby klikać :]

0

Rozumiem, tylko jak siedze po nocach to ciezko mi cokolwiek znaleźć, a tu wiem ze dostane szybko pomoc i odpowiedz...Takze forum jest po to by z niego korzystac. Dzieki za pomoc...:)
Mozecie mi jeszcze tak szybko pomoc Jak zablokowac EditText przed wprowadzaniem Liczb?

1
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key in ['0'..'9'] then Key:= #0;
end;>

Oczywiście to nie zabezpieczy przed wklejaniem.

1
kAzek napisał(a):
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key in ['0'..'9'] then Key:= #0;
end;>

Oczywiście to nie zabezpieczy przed wklejaniem.

A to:

if Key in ['0'..'9',#22] then Key:= #0;
0

No to pozostaje jeszcze albo ustawienie PopupMenu na jakieś puste utworzone TPopupMenu i/lub własna obsługa WM_PASTE przez subclassing takiego Edita. Żeby nie można było wklejać przez prawoklik z menu lub choćby kombinację Shift+Insert.

0

Jest jeszcze taki wynalazek jak TMaskEdit ...

0

@kAzek @_13th_Dragon @olesio a po co się tak męczyć jak OnChange wykonuje się w każdym z tych wypadków

1 użytkowników online, w tym zalogowanych: 0, gości: 1