eGospodarka.pl
eGospodarka.pl poleca

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

  • 11. Data: 2013-11-15 10:25:44
    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:l62utl$pit$1@node2.news.atman.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;

    A czy temu string-owi "genotyp" jest przypisywany tekst zawierający polskie znaki (z
    ogonkami, kreseczkami)?
    Jeśli nie, to jeśli np. będzie 'abcdefg', to też nie działa?

    --
    Pzdr.
    Marek



  • 12. Data: 2013-11-15 19:45:24
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: Jakub Rakus <s...@o...pl>

    On 15.11.2013 02:10, John Smith wrote:
    >
    > 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.

    procedure TForm1.Button1Click(Sender: TObject);populacji początkowej
    var
    i: integer;
    begin
    ilosc_osobnikow:=SpinEdit1.Value;
    StringGrid1.Clear;
    StringGrid1.RowCount:=ilosc_osobnikow+1;
    for i:=1 to ilosc_osobnikow do
    begin
    osobniki[i].numer:=i;
    osobniki[i].genotyp:=permutacja(8);
    end;
    for i:=1 to ilosc_osobnikow do
    begin
    StringGrid1.Cells[0,i]:=Format('%d', [osobniki[i].numer]);
    StringGrid1.Cells[1,i]:=Format('%s', [osobniki[i].genotyp]);
    end;
    end;

    Kolumny stworzone we właściwościach StringGrida, tak żeby miały już
    konkretne nazwy, szerokości etc. Zresztą jak wrzuce do kolumny numer 1
    jakąś wartość numeryczną to ją widzę.

    --
    Pozdrawiam
    Jakub Rakus


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

    >
    > 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
    >

    A kompilujesz to pod windowsem czy linuxem? Może sprawa leży po stronie
    konfiguracji środowiska? Wartości osobniki.genotyp na pewno są tworzone
    bo w dalszej części programu inne procedury wyliczają na ich podstawie
    różne wartości liczbowe i wartości te otrzymuje poprawne (wyświetlam je
    w innym StringGridzie).
    A teraz ciekawostka: zrobiłem sobie na szybko idiotyczną funkcję, która
    wyciąga z mojego stringa kolejne znaki i skleja je w nowego stringa -
    wtedy się to wyświetla, o co tu chodzi?

    --
    Pozdrawiam
    Jakub Rakus


  • 14. Data: 2013-11-15 20:27:50
    Temat: Re: [trochę NTG] freepascal, lazarus i formatowanie stringa
    Od: John Smith <d...@b...pl>

    [...]
    > Bzdura.
    [...]
    >
    > Kolejna bzdura.

    Bzdurnyś bzdurnik, albo niedouczony student.
    K.



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


    > Kolumny stworzone we właściwościach StringGrida, tak żeby miały już
    > konkretne nazwy, szerokości etc. Zresztą jak wrzuce do kolumny numer 1
    > jakąś wartość numeryczną to ją widzę.

    Prosiłem o krótki program, ten co przysłałeś pozwoliłem sobie uprościć
    do problemu StringGrid:

    unit Unit1;

    interface

    uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls,
    Vcl.Samples.Spin;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    SpinEdit1: TSpinEdit;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i: integer;
    ilosc_osobnikow : integer;
    begin
    ilosc_osobnikow := SpinEdit1.Value;
    //StringGrid1.Clear;
    StringGrid1.RowCount:=ilosc_osobnikow+1;
    // for i:=1 to ilosc_osobnikow do
    // begin
    // osobniki[i].numer:=i;
    // osobniki[i].genotyp:=permutacja(8);
    // end;
    for i:=1 to ilosc_osobnikow do
    begin
    StringGrid1.Cells[0,i]:= 'abc'; //Format('%d', [osobniki[i].numer]);
    StringGrid1.Cells[1,i]:= 'def'; //Format('%s', [osobniki[i].genotyp]);
    end;
    end;

    end.


    Ta wersja działa zgodnie z oczekiwaniem pod Delphi.
    K.


  • 16. Data: 2013-11-16 09:46:05
    Temat: Re: [trochę NTG] freepascal, lazarus i fo=?UTF-8?B?cm1hdG93YW5pZSBzdHJpbmdh?=
    Od: "Marek" <t...@f...kuku.pl>

    Dnia 2013-11-15 John Smith dokonal ponizszego cudu (by zylo sie lepiej):

    >[...]
    >>Bzdura.
    >[...]
    >>
    >>Kolejna bzdura.
    >
    >Bzdurnyś bzdurnik,

    Co, głupio ci, że chciałeś się wymądrzyć, a wyszedłeś na ...<tu
    sobie sam dopowiedz> :P

    >albo niedouczony student.

    Tak się składa, że parę latek się pracuje jako programista, a tak banalne rzeczy
    to nawet uczniowie w liceum informatycznym wiedzą :P

    --
    Pzdr.
    Marek


  • 17. Data: 2013-11-18 10:03:21
    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:l65q9f$ett$2@node1.news.atman.pl...
    > A teraz ciekawostka: zrobiłem sobie na szybko idiotyczną funkcję, która wyciąga z
    mojego stringa kolejne znaki i skleja je w
    > nowego stringa - wtedy się to wyświetla, o co tu chodzi?

    Zignorowałeś moje pytanie dotyczące poprawności wyświetlania
    w StringGridzie w zależności od treści łańcucha (czy zawiera polskie
    znaki), ale choć nie mam dużego doświadczenia w pisaniu pod
    Lazarusem, to przypuszczam, że problem może być związany
    z kodowaniem znaków w tym środowisku, tzn. UTF-8. W związku
    z tym spróbuj zrobić coś takiego:

    Var
    genotyp: string[8];

    genotyp := Utf8ToAnsi('mówićcoś'); //oczywiście tekst max 8 znaków

    StringGrid1.Cells[2,3] := AnsiToUtf8(genotyp);

    Czy ten tekst wyświetla się w StringGridzie?

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