neděle 1. srpna 2010

Nejnovější blbost z USA: CString

7 komentářů:

  1. Tohle mě pobavilo. Já už myslel, že se kollega vrhnul na programování.

    OdpovědětVymazat
  2. CStrings ve variante Brasil maji dokonce zasouvaji "prvek".
    Pry vysvetleni proc na karnevalu v Riu tak krasne tanci :-)

    OdpovědětVymazat
  3. Gogo, ten Váš trolling mne nebaví. Tady je jednoduchý drillovací program, který jsem před 15 lety napsal. Včil mudrujte:

    program Nemcina;
    const Version = 2.0;
    N = 255;
    var F: Text;
    P, I, Good, Bad, Count, What, Kolik, Total, Direction: Integer;
    Well: array [1 .. N] of Boolean;
    Radka, Nemecky, Cesky: array [1 .. N] of string [80];
    Question, Solution, Answer: string [80];

    procedure Divide;
    var P, Last: Integer;
    begin
    for I := 1 to Count do
    begin
    P := Pos (#9, Radka [I]);
    while P <> 0 do
    begin
    Last := P;
    Delete (Radka [I], P, 1);
    P := Pos (#9, Radka [I]);
    end;
    Nemecky [I] := Copy (Radka [I], 1, Last - 1);
    Cesky [I] := Copy (Radka [I], Last, Length (Radka [I]) - Last + 1);
    end;
    end;

    begin
    Assign (F, 'Vokabeln.Txt');
    Reset (F);
    Count := 0;
    repeat
    Inc (Count);
    repeat
    ReadLn (F, Radka [Count]);
    until not ((Radka [Count] = '') or (Copy (Radka [Count], 1, 1) = ';'))
    until Radka [Count] = 'The End';
    Count := Count - 1;
    WriteLn;
    WriteLn (' Němčina ', Version: 1: 1);
    WriteLn ('(c) Guy Peters, My Ratsoft 1995');
    WriteLn;
    Write ('Je připraveno ', Count, ' slovíček. Kolik si přejete příkladů? ');
    ReadLn (Kolik);
    WriteLn;
    WriteLn ('Slovíčka budou zadávána');
    WriteLn ('1. v němčině');
    WriteLn ('2. v češtině');
    WriteLn ('3. napřeskáčku');
    WriteLn;
    Write ('? ');
    ReadLn (Direction);
    WriteLn;
    Good := 0; Bad := 0; Total := 0;
    Randomize;
    Divide;
    for I := 1 to Kolik do
    begin
    repeat
    What := 1 + Random (Count);
    until not (Well [What]);
    case Direction of
    1: begin
    Question := Nemecky [What];
    Solution := Cesky [What]
    end;
    2: begin
    Question := Cesky [What];
    Solution := Nemecky [What]
    end;
    3: begin
    P := Random (2);
    if P = 1 then
    begin
    Question := Cesky [What];
    Solution := Nemecky [What]
    end
    else
    begin
    Question := Nemecky [What];
    Solution := Cesky [What]
    end;
    end;
    end;
    WriteLn (Question);
    ReadLn (Answer);
    WriteLn (Solution);
    WriteLn;
    if ((Length (Answer) > 1)
    and (Answer = Copy (Solution, 1, Length (Answer))))
    or ((Length (Answer) > 1)
    and (Question = Nemecky [What]) {pro česká synonyma}
    and (Pos (Answer, Cesky [What]) > 0))
    then
    begin
    Write ('Dobře. ');
    Good := Good + 1;
    Well [What] := True;
    Inc (Total);
    end
    else
    begin
    Write ('Špatně. ');
    Bad := Bad + 1;
    end;
    Write ('Celkem ', I, ' příklad');
    if (I >= 2) and (I <= 4) then Write ('y');
    if I >= 5 then Write ('ů');
    WriteLn (', z toho ', Good, ' dobře a ', Bad, ' špatně. ',
    'Úspěšnost je ', Good / I * 100: 0: 2, ' %');
    WriteLn;
    if Total = Count then
    begin
    WriteLn ('Všechny příklady konečně správně zodpovězeny.');
    Halt;
    end;
    WriteLn;
    end;
    end.

    OdpovědětVymazat
  4. Já se Vás nechtěl nijak dotknout proboha! Jen jak jsem viděl CString, tak se mi vybavila ona céčkovská třída.
    Moc nechápu, proč dáváte sem dáváte školní příklad v základním Pascalu, ale je to jedno.

    OdpovědětVymazat
  5. Na základě toho, že jsem se údajně "vrhnul na programování". Vzhledem k tomu, že programuji již skoro 25 let, nemusím se na něj "vrhat".

    Není to školní příklad, to by byl příliš primitivní. Psal jsem ho proto, aby mi pomohl na zkoušku z němčiny.

    Protože v C moc programovat neumím.

    OdpovědětVymazat
  6. Pointa spočívala v třídě z MFC s názvem CString, což bylo první a jediné co se mi vybavilo při přečtení nadpisu.
    To, jestli si Vy sám píšete prográmky ve VBA, Pascalu, Javě nebo Occamu, mi bylo v tu chvíli jedno.

    OdpovědětVymazat
  7. Podívejte, já nepopírám, že CString má i jiný význam. Šlo mi čistě o Vaše urážlivé vyjádření na mou adresu.

    OdpovědětVymazat

Kursiva: <i>text</i>
Tučně: <b>text</b>
Odkaz: <a href="http://adresa">text</a>, tedy <a href=""></a>