Zmienne C-GEO w kodzie formularza?
Zmienne C-GEO w kodzie formularza?
Witam!
Czy można jakoś wywołać zmienne C-Geo, te domyślne i te użytkownika w Kodzie formularza .fr3?
Chciałbym uzależnić treść obiektów od wartości $pPowiat.
Czy można jakoś wywołać zmienne C-Geo, te domyślne i te użytkownika w Kodzie formularza .fr3?
Chciałbym uzależnić treść obiektów od wartości $pPowiat.
Pozdrawiam
Ao
Ao
Re: Zmienne C-GEO w kodzie formularza?
Witam,
wszystkie zmienne podane są w tym artykule: http://xsoftline.geo.pl/wiki/index.php? ... edytor_v.2 , jest też opis, jak dodawać swoje zmienne.
wszystkie zmienne podane są w tym artykule: http://xsoftline.geo.pl/wiki/index.php? ... edytor_v.2 , jest też opis, jak dodawać swoje zmienne.
Re: Zmienne C-GEO w kodzie formularza?
Tak, tak potrafię używać zmiennych
Pytam, czy można je wywołać w Kodzie
O tu
Pytam, czy można je wywołać w Kodzie
O tu
Pozdrawiam
Ao
Ao
Re: Zmienne C-GEO w kodzie formularza?
Każdy obiekt formularza ma zdarzenia:
procedure Memo38OnAfterData(Sender: TfrxComponent);
begin
tfrxmemoview(sender).text := '';
end;
do zmiennych można sie chyba dobierać ich nazwą jaką ma w formularzu (właściwość Name) np memo3.text := 'ala ma kota';
Proszę opisać konkretną potrzebę to może cos więcej podpowiem
W zdarzeniu można odnieść się do zawartości np. wyzerować wartość:procedure Memo38OnAfterData(Sender: TfrxComponent);
begin
tfrxmemoview(sender).text := '';
end;
do zmiennych można sie chyba dobierać ich nazwą jaką ma w formularzu (właściwość Name) np memo3.text := 'ala ma kota';
Proszę opisać konkretną potrzebę to może cos więcej podpowiem
pozdrawiam
grzes
grzes
Re: Zmienne C-GEO w kodzie formularza?
No właśnie w ten sposób próbowałem, ale coś mi nie szło.
Mam pole (memoX) z zawartością [$ppowiat]
Chcę użyć
if memoX.Text = 'kaliski'
then
MemoY.Text := Starosta Kaliski
end;
if memoX.Text = 'Kalisz - miasto na prawach powiatu'
then
MemoY.Text := Prezydent Miasta Kalisza
end;
Próbowałem na pewno OnBeforePrint i OnAfterPrint (OnAfterData chyba też, ale to musiałbym sprawdzić jeszcze raz) i nie chciało działać.
Taki testowy strzał działa
if memoX.Text = '[$ppowiat]'
then
MemoY.Color := clRed
end;
więc to nie problem z kodem tylko z zawartością tego pola. Mam wrażenie, że te zmienne([$ppowiat]) są podmieniane na samym końcu po wykonaniu wszystkich zdarzeń z formularza, więc chciałem te "zwykłe" zmienne C-Geo wywołać bezpośrednio w kodzie zamiast zasysać je wtórnie z pól tekstowych.
Mam pole (memoX) z zawartością [$ppowiat]
Chcę użyć
if memoX.Text = 'kaliski'
then
MemoY.Text := Starosta Kaliski
end;
if memoX.Text = 'Kalisz - miasto na prawach powiatu'
then
MemoY.Text := Prezydent Miasta Kalisza
end;
Próbowałem na pewno OnBeforePrint i OnAfterPrint (OnAfterData chyba też, ale to musiałbym sprawdzić jeszcze raz) i nie chciało działać.
Taki testowy strzał działa
if memoX.Text = '[$ppowiat]'
then
MemoY.Color := clRed
end;
więc to nie problem z kodem tylko z zawartością tego pola. Mam wrażenie, że te zmienne([$ppowiat]) są podmieniane na samym końcu po wykonaniu wszystkich zdarzeń z formularza, więc chciałem te "zwykłe" zmienne C-Geo wywołać bezpośrednio w kodzie zamiast zasysać je wtórnie z pól tekstowych.
Pozdrawiam
Ao
Ao
Re: Zmienne C-GEO w kodzie formularza?
Pwinno zadziałac coś takieego
To copy() jest tam potrzebne bo na końcu tych pól czesto sa znaki Enter i proste sprawdzenie memo.text='abc' nie dziala
Kod: Zaznacz cały
procedure Memo3OnAfterData(Sender: TfrxComponent);
begin
if copy(memo3.text,1,5)='kalis' then memo4.text:='Starosta Kaliski';
end;
pozdrawiam
grzes
grzes
Re: Zmienne C-GEO w kodzie formularza?
Działa dla '[$pPo' ale niestety nie dla wartości zmiennej (czy "kaliski", czy "Kalisz - miasto ...")
Mam już coś na mniej więcej podobnej zasadzie w WZDE, ale tam dane są podczytywane we wstędze z bazy danych ZANIM wykonywane są poszczególne procedury i tam mi to pięknie działa.
Zamiast copy() używam trim(), bo mogę dokładnie podać zawartość pola tekstowego, nie ograniczając się ilością znaków.
W kodzie wyżej pobiera już zwrócone wartości zmiennych(czyli 0.000X zamiast [pow_now], czy co to tam jest), odejmuje i zwraca wynik.
W zwykłych formularzach w kwestii zmiennych projektu C-GEO coś nie działa (obstawiam, że wartość [$pPowiat] jest podmieniana na "kaliski', "Kalisz - miasto...", "pleszewski" etc. gdzieś później i przez to kod nie ma czego zassać z obiektu tekstowego), dlatego chciałem je jakoś wywołać bezpośrednio wcześniej.
Mam już coś na mniej więcej podobnej zasadzie w WZDE, ale tam dane są podczytywane we wstędze z bazy danych ZANIM wykonywane są poszczególne procedury i tam mi to pięknie działa.
Zamiast copy() używam trim(), bo mogę dokładnie podać zawartość pola tekstowego, nie ograniczając się ilością znaków.
Kod: Zaznacz cały
var
M1 : string;
fM1 : extended;
M2 : string;
fM2 : extended;
M3 : string;
fM3 : extended;
l0 : integer;
l1 : integer;
l2 : integer;
pp1 : integer;
ch1 : char;
begin
M1 := Suma_stara1.Text;
fM1 := StrToFloat(trim(M1));
M2 := Suma_nowa1.Text;
fM2 := StrToFloat(trim(M2));
fM3 := (((fM2*10000)-(fM1*10000))/10000);
M3 := FloatToStr(abs(fM3));
W zwykłych formularzach w kwestii zmiennych projektu C-GEO coś nie działa (obstawiam, że wartość [$pPowiat] jest podmieniana na "kaliski', "Kalisz - miasto...", "pleszewski" etc. gdzieś później i przez to kod nie ma czego zassać z obiektu tekstowego), dlatego chciałem je jakoś wywołać bezpośrednio wcześniej.
Pozdrawiam
Ao
Ao
Re: Zmienne C-GEO w kodzie formularza?
na pewno w zdarzeniu OnAfterData (zdarzenie dla tego konkretnie pola)?
pozdrawiam
grzes
grzes
Re: Zmienne C-GEO w kodzie formularza?
Cały kod:
W tym momencie to Starosta Kaliski jest tam wpisane, ale powinno zastąpić na TEST gdyby zadziałało
Kod: Zaznacz cały
var
ButtonAns : integer;
procedure OrganOnAfterData(Sender: TfrxComponent);
begin
if copy(Powiat.text,1,5)='Kalis' then Organ.text:='TEST';
end;
begin
Szkic_orientacyjny.Top := Mapa.Height - Szkic_orientacyjny.Height;
Szkic_orientacyjny.Left := Mapa.Width - Szkic_orientacyjny.Width;
Wymiary.Text := FloatToStr(GM_MdCP_A3L.PaperHeight)+' x '+FloatToStr(GM_MdCP_A3L.PaperWidth);
ButtonAns := MessageDlg('Z pieczątkami?',mtConfirmation,mbYes+mbNo,0);
if ButtonAns = 7
then
begin
Rich1.Visible := False;
Rich1.Printable := False;
Rich3.Visible := False;
Rich3.Printable := False;
Rich4.Visible := False;
Rich4.Printable := False;
end;
if ButtonAns = 6
then
begin
Rich1.Visible := True;
Rich1.Printable := True;
Rich3.Visible := True;
Rich3.Printable := True;
Rich4.Visible := True;
Rich4.Printable := True;
end;
end.
Pozdrawiam
Ao
Ao
Re: Zmienne C-GEO w kodzie formularza?
Okay, chyba jednak nie dla tego pola...
Dopiero jak wrzucilem to tutaj to coś zatrybiło.
Sprawdzę wieczorem.
Dopiero jak wrzucilem to tutaj to coś zatrybiło.
Sprawdzę wieczorem.
Pozdrawiam
Ao
Ao