eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › [trochę NTG] freepascal, lazarus i formatowanie stringa
Ilość wypowiedzi w tym wątku: 17

  • 1. Data: 2013-11-13 23:29:46
    Temat: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: Jakub Rakus <s...@o...pl>

    Ktoś tu się kiedyś chwalił że ogarnia FreePascala i IDE Lazarusa, więc
    przedstawię problem. Mam taki kod:

    StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp]);

    który oczywiście nie działa, komórki w kolumnie numer 1 w moim
    StringGrid1 wyświetlają się puste. Pole genotyp w strukturze osobniki
    jest typu string o stałej długości 8 znaków. Co ciekawe gdy odwołam się
    do pojedynczego znaku ze stringa, np. tak:

    StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp[1]]);

    to wtedy ten pojedynczy znak mi się wyświetla. Dlaczego nie mogę
    wyświetlić stringa w całości?

    --
    Pozdrawiam
    Jakub Rakus


  • 2. Data: 2013-11-14 07:51:47
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: "Marek" <t...@f...kuku.pl>


    Użytkownik "Jakub Rakus" <s...@o...pl> napisał w wiadomości
    news:l60ugq$r79$1@node2.news.atman.pl...
    > Ktoś tu się kiedyś chwalił że ogarnia FreePascala i IDE Lazarusa, więc przedstawię
    problem. Mam taki kod:
    >
    > StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp]);
    >
    >który oczywiście nie działa, komórki w kolumnie numer 1 w moim StringGrid1
    wyświetlają się puste.

    Zakładając, że właściwie indeksujesz "i", to kod wygląda na poprawny. Przynajmniej
    w Delphi na pewno
    by zadziałało.
    Może podaj deklarację tablicy "osobniki" oraz strukturę jej elementów (rekordu).

    --
    Pzdr.
    Marek


  • 3. Data: 2013-11-14 17:21:30
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: JK <j...@i...pl>

    W dniu 2013-11-13 23:29, Jakub Rakus pisze:
    > Ktoś tu się kiedyś chwalił że ogarnia FreePascala i IDE Lazarusa, więc
    > przedstawię problem. Mam taki kod:
    >
    > StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp]);
    >
    > który oczywiście nie działa, komórki w kolumnie numer 1 w moim
    > StringGrid1 wyświetlają się puste. Pole genotyp w strukturze osobniki
    > jest typu string o stałej długości 8 znaków. Co ciekawe gdy odwołam się
    > do pojedynczego znaku ze stringa, np. tak:
    >
    > StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp[1]]);
    >
    > to wtedy ten pojedynczy znak mi się wyświetla. Dlaczego nie mogę
    > wyświetlić stringa w całości?
    >

    1. Nie bardzo rozumiem w jakim celu używasz Format do stringa. W takim
    przypadku Format robi po prostu kopię stringa.

    2. Spróbuj Format('%0:s', [osobniki[i].genotyp])

    JK


  • 4. Data: 2013-11-14 17:48:53
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: Jakub Rakus <s...@o...pl>

    On 14.11.2013 07:51, Marek wrote:

    > Może podaj deklarację tablicy "osobniki" oraz strukturę jej elementów
    > (rekordu).
    >

    Osobniki to tablica elementów stworzonego przeze mnie typu:

    type fenotyp = record
    numer: byte;
    genotyp: string[8];
    fun_przyst: integer;
    wyc_kola_rul: real;
    end;

    --
    Pozdrawiam
    Jakub Rakus


  • 5. Data: 2013-11-14 17:55:09
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: Jakub Rakus <s...@o...pl>

    On 14.11.2013 17:21, JK wrote:
    >
    > 1. Nie bardzo rozumiem w jakim celu używasz Format do stringa. W takim
    > przypadku Format robi po prostu kopię stringa.

    Chcę mieć (później) możliwość formatowania tego co będzie pokazywane na
    ekranie. Zresztą zwykłe przypisanie też nie działa.

    > 2. Spróbuj Format('%0:s', [osobniki[i].genotyp])
    >
    > JK

    Próbowałem, niestety efektów brak.

    --
    Pozdrawiam
    Jakub Rakus


  • 6. Data: 2013-11-14 19:05:40
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: John Smith <d...@b...pl>

    On 14-11-2013 17:55, Jakub Rakus wrote:
    > On 14.11.2013 17:21, JK wrote:
    >>
    >> 1. Nie bardzo rozumiem w jakim celu używasz Format do stringa. W takim
    >> przypadku Format robi po prostu kopię stringa.
    >
    > Chcę mieć (później) możliwość formatowania tego co będzie pokazywane na
    > ekranie. Zresztą zwykłe przypisanie też nie działa.
    >
    >> 2. Spróbuj Format('%0:s', [osobniki[i].genotyp])
    >>
    >> JK
    >
    > Próbowałem, niestety efektów brak.

    Bo nie zadziała, w Delphi też nie.
    Aby wyświetlić zawartość StringGrid, musisz przechwycić event: OnDrawCell
    K.




  • 7. Data: 2013-11-14 20:10:18
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: Jakub Rakus <s...@o...pl>

    On 14.11.2013 19:05, John Smith wrote:

    >
    > Bo nie zadziała, w Delphi też nie.
    > Aby wyświetlić zawartość StringGrid, musisz przechwycić event: OnDrawCell
    > K.
    >

    Chyba się nie zrozumieliśmy, ja nie chce wyciągać tego co jest w komórce
    StringGrida tylko chcę do niej wpisać jakieś tam stringa. Co idealnie
    działa gdy robię np. tak:
    StringGrid.Cells(x,y):='jakiś tekst'
    albo tak:
    my_string:='jakiś tekst';
    StringGrid.Cells(x,y):=my_string;
    ale NIE DZIAŁA jak chcę do tej komórki wrzucić jedno z pól typu
    złożonego, przy czym to jedno konkretne pole jest typu string.

    --
    Pozdrawiam
    Jakub Rakus


  • 8. Data: 2013-11-14 23:01:15
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: w...@g...com

    W dniu czwartek, 14 listopada 2013 17:55:09 UTC+1 użytkownik Jakub Rakus napisał:
    > On 14.11.2013 17:21, JK wrote:
    >
    > >
    >
    > > 1. Nie bardzo rozumiem w jakim celu używasz Format do stringa. W takim
    >
    > > przypadku Format robi po prostu kopię stringa.
    >
    >
    >
    > Chcę mieć (później) możliwość formatowania tego co będzie pokazywane na
    >
    > ekranie. Zresztą zwykłe przypisanie też nie działa.
    >
    >
    >
    > > 2. Spróbuj Format('%0:s', [osobniki[i].genotyp])
    >
    > >
    >
    > > JK
    >
    >
    >
    > Próbowałem, niestety efektów brak.
    >
    >


    Ja też próbowałem. I działa.
    Sprawdź czy aby na pewno poprawnie zapisujesz dane do tablicy, tzn. czy pod indeksem
    i są jakiekolwiek dane.

    JK


  • 9. Data: 2013-11-15 02:10:39
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: John Smith <d...@b...pl>

    On 14-11-2013 20:10, Jakub Rakus wrote:
    > On 14.11.2013 19:05, John Smith wrote:
    >
    >>
    >> Bo nie zadziała, w Delphi też nie.
    >> Aby wyświetlić zawartość StringGrid, musisz przechwycić event: OnDrawCell
    >> K.
    >>
    >
    > Chyba się nie zrozumieliśmy, ja nie chce wyciągać tego co jest w komórce
    > StringGrida tylko chcę do niej wpisać jakieś tam stringa. Co idealnie
    > działa gdy robię np. tak:
    > StringGrid.Cells(x,y):='jakiś tekst'
    > albo tak:
    > my_string:='jakiś tekst';
    > StringGrid.Cells(x,y):=my_string;
    > ale NIE DZIAŁA jak chcę do tej komórki wrzucić jedno z pól typu
    > złożonego, przy czym to jedno konkretne pole jest typu string.

    Napisz jakiś _bardzo_krótki_ program i wyślij go na grupę. Może problem
    leży w braku przydzielonej pamięci? Przypomnę, że StringGrid.Cells(x,y)
    z konkretnym x i y, musi wcześniej istnieć, ustawiając np:
    StringGrid1.ColCount
    StringGrid1.RowCount
    K.




  • 10. Data: 2013-11-15 07:33:34
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: "Marek" <t...@f...kuku.pl>


    Użytkownik "John Smith" <d...@b...pl> napisał w wiadomości
    news:l633dm$jvn$1@node1.news.atman.pl...
    > On 14-11-2013 17:55, Jakub Rakus wrote:
    >> On 14.11.2013 17:21, JK wrote:
    >>>
    >>> 1. Nie bardzo rozumiem w jakim celu używasz Format do stringa. W takim
    >>> przypadku Format robi po prostu kopię stringa.
    >>
    >> Chcę mieć (później) możliwość formatowania tego co będzie pokazywane na
    >> ekranie. Zresztą zwykłe przypisanie też nie działa.
    >>
    >>> 2. Spróbuj Format('%0:s', [osobniki[i].genotyp])
    >>>
    >>> JK
    >>
    >> Próbowałem, niestety efektów brak.
    >
    > Bo nie zadziała, w Delphi też nie.

    Bzdura.

    > Aby wyświetlić zawartość StringGrid, musisz przechwycić event: OnDrawCell

    Kolejna bzdura.

    --
    Pzdr.
    Marek

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: