Tekst - porównywanie i coś jeszcze

0

Witam

Czy ma ktoś może pomysły jak zrealizować takie coś:

Ładujemy do Memo, RichEdit, Label lub czegokolwiek innego jakiś tekst (powiedzmy kilkadziesiąt wyrazów). Program w losowych miejscach (ilość tych miejsc zdefiniowana przez użytkownika) wstawia luki tzn. omija niektóre wyrazy, a zamiast nich wstawia pola edycyjne (lub coś podobnego). Po uzupełnieniu pól program sprawdza tekst razem z uzupełnionymi polami z tekstem źródłowym i wyróżnia/liczy różnice.

Proszę o jakieś sugestie chociaż. A może ktoś ma inny/łatwiejszy sposób na wykonanie tego.

Tutaj pokazuje o co mniej wiecej mi chodzi:

user image

0

wyjaśnij dokładniej 9161291

0

Proszę chociaż o małą podpowiedź

0

Chyba zrobiłbym to na dynamicznych komponentach, jak ktoś ma wydajniejszy sposób, to niech wali śmiało, bo ja dzisiaj nie myślę, tylko na odruchach warunkowych jadę :]

robisz mniej więcej taką pętlę (to jest pseudo Pascal ;) - piszę z pamięci, nie sprawdzając poprawności, po prostu żeby pokazać ideę ogólną)

var 
    tablica: array[1..n] of string;
    i,lewo,gora :integer;
    label: TLabel;
    edit : TEdit;
begin
    for i:=1 to n do begin
        if(random(100)>50) then begin
            // tworzysz labela
            label:=label.Create;
            label.caption:= tablica[i];
            // wstawiasz na formę (tak to się z parentem robi w Delphi??)
            label.name := "mojLabelnr" + IntToStr(i);
            label.parent := Form1;

            // położenie labela - jak się nie mieści, to wstawiany w nowej lini
            if(lewo+label.Width>Form1.ClientWidth) then begin
                lewo:=0;
                gora:=gora+30;
            end;

            label.left := lewo;
            labe.top :=  gora;

            // i położenie następnego elementu:
            lewo := lewo + label.Width + 20;
       end else
            // wstawianie Edita, podobnie
       end;
end;

czyli masz wstawione na formę komponenty z czymś na kształt "zawijania wierszy" dostęp do nich uzyskujesz przez Form1.Controls albo jakoś tak. Możesz sobie też sobie zrobić tablicę labeli i i editów, coby nie wyszukiwać tego na formie

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