Losowy tekst

0

Witam.
Piszę program i chcę, żeby w lablu wyskakiwał mi jeden losowo jeden z trzech tekstów:
-pies
-kot
-mysz
Jak to zrobić ?
Kompletnie nie mam pomysłu, dlatego postanowiłem zapytać o pomoc kogoś z większym doświadczeniem w programowaniu.

0

Liczby losowe:
Random

Tablice:
Tablice

Podpowiem ci, że musisz wylosować indeks tablicy i pobrać taki napis, czyli element tablicy, a następnie przypisać właściwości Caption labela właśnie ten element tablicy.

0
Randomize; //powinno być tylko raz w programie wywołane!
case Random(3) of
  0: Label.Caption := 'pies';
  1: Label.Caption := 'kot';
  2: Label.Caption := 'mysz';
end;
1

Jak to zrobić ?

Pytając na forum i przeklepując gotowca po czym pytając czemu nie działa.

abrakadaber napisał(a):
Randomize; //powinno być tylko raz w programie wywołane!
case Random(3) of
  0: Label.Caption := 'pies';
  1: Label.Caption := 'kot';
  2: Label.Caption := 'mysz';
end;

Nie wiem czy dajesz tego gotowca mi na złość, z litości czy z jeszcze innych powodów, tak czy siak szkodzisz tylko pytaczowi.

//powinno być tylko raz w programie wywołane!

Tobie się wydaje że on wie kiedy jaki kod jest wykonywany w programie? Masz wiarę...
Przypominają mi się tutoriale do pisania własnych 'hacków' 'keyloggerów' i 'trojanów' w Delphi gdzie podstawową sprawą jest wiadomość jak się tworzy zdarzenia na buttonach i wkleja kod a nie podstawy języka. Ciekawe ile się taka osoba dowie z takiego kursu...

2

słuchaj koleś to nie jest twoje prywatne podwórko więc weź i idź w pizdu. Nie jesteś alfą i omegą. Jak ci się wytknie jakiś błąd to choćbyś się miał posrać to się do niego nie przyznasz.

Prawdę mówiąc guzik mnie obchodzi czy on ten kod zrozumie, przekleji, wydrukuje czy napisze na srajtaśmie i się nim podetrze. Nie interesuje mnie czy on ten kod zrozumie. Jeśli nie to może i lepiej bo będzie jednego upośledzonego programisty mniej (upośledzony programista to taki co nawet nie wie jak z googla skorzystać, żeby nie było, że uważam jego samego za upośledzonego). To jest całe 6 linijek kodu i napisanie go zajęło mi mniej czasu niż otworzenie zakładki, wpisanie tego co bym chciał do googla i wklejenie linku.

Z drugiej strony jeśli masz takie zdanie o nim to na pewno weźmie i przeczyta o tych poleceniach co mu @xeo545x39 dał linka i zrozumie i napisze sam... Masz wiarę...

BTW jak pisałem posta mojego to jeszcze nie było odpowiedzi @xeo545x39

0

słuchaj koleś to nie jest twoje prywatne podwórko więc weź i idź w pizdu. Nie jesteś alfą i omegą. Jak ci się wytknie jakiś błąd to choćbyś się miał posrać to się do niego nie przyznasz.

To też nie jest twoje prywatne podwórko. Mogę się do nich nie przyznawać, tak samo jak ty możesz. Cóż za pies ogrodnika, sam nie skorzysta z tej opcji, mi też nie da.
A co do 'idzenia w pizdu' to jeżeli się coś tobie nie podoba to wiesz gdzie są drzwi. Możesz wyjść tak samo jak ja mogę.
Jeżeli kolego masz ze mną problem to możesz mnie hejtować i minusować, możesz jeszcze robić milion innych rzeczy. Natomiast wkurzanie się to ewidentnie jedna z gorszych opcji. Złość piękności szkodzi.

To jest całe 6 linijek kodu i napisanie go zajęło mi mniej czasu niż otworzenie zakładki, wpisanie tego co bym chciał do googla i wklejenie linku.

Mógłbym się z tobą ścigać i jednak uważam że byłbym szybszy ze znalezieniem funkcji random w googlu.

Prawdę mówiąc guzik mnie obchodzi czy on ten kod zrozumie, przekleji, wydrukuje czy napisze na srajtaśmie i się nim podetrze. Nie interesuje mnie czy on ten kod zrozumie. Jeśli nie to może i lepiej bo będzie jednego upośledzonego programisty mniej (upośledzony programista to taki co nawet nie wie jak z googla skorzystać, żeby nie było, że uważam jego samego za upośledzonego).

Więc napisałeś ten kod jako wprawkę? Śmiem wątpić w jej potrzebę.
Możesz mi wytłumaczyć tą odwieczną tajemnicę i powiedzieć po co ludzie piszą gotowce skoro nie dla pytaczy? Wątpię żebyś cierpiał na nadmiar wolnego czasu skoro aż tak się spinasz z tym że coś ci się we mnie nie podoba.

Z drugiej strony jeśli masz takie zdanie o nim to na pewno weźmie i przeczyta o tych poleceniach co mu @xeo545x39 dał linka i zrozumie i napisze sam... Masz wiarę...

Będzie musiał się zastanowić jeżeli tylko takie odpowiedzi otrzyma. Natomiast u ciebie najprawdopodobniej będzie się bawić w zgadywanie co jest nie tak.

BTW jak pisałem posta mojego to jeszcze nie było odpowiedzi @xeo545x39

Rozumiem ale mimo to uważam że lepiej byłoby wkleić link do random albo do googla czystego.

0

Tak się zastanawiam skąd "w Google" można znaleźć odpowiedź jak uważasz że dawanie kodu jest takie złe to w ogóle go nie powinno nigdzie być... bo przecież dawanie kodu na forum jest złe no chyba że to dotyczy tylko tego forum?
Moim zdaniem nie powinno Cię interesować czy ktos odpowiada dając kod czy też tylko wskazówki w postaci słów kluczowych jakich powinien szukać i nie interesuje mnie czy później zada kolejne pytania - będę miał ochotę odpowiedzieć to odpowiem nie to nie chyba proste a czy ktoś się czegoś nauczył w ogóle mnie nie obchodzi jeżeli tak to dobrze a jeżeli nie to jego strata.
Ciekawe po co w ogóle ludzie publikują np. darmowe komponenty później przyjdzie ktoś i położy gotowy komponent (przecież to to samo co taki gotowiec), który wykonuje określone zadanie i nie będzie wiedział nawet jak on działa niczego się nie nauczy to też powinno być zakazane podobnie jak np. artykuły na tej stronie które często zawierają gotowce które można zastosować (czasem po drobnych zmianach) w swoim kodzie.

Aby nie było offtopu mój kod :P

const
  ZWIERZAKI: array [0..2] of string = ('pies', 'kot', 'mysz');
begin
  Label1.Caption:= ZWIERZAKI[Random(High(ZWIERZAKI) + 1)];
end;

Oczywiście wcześniej w programie np. w oncreate formy trzeba wywołać randomize (tylko raz)

0

Tak się zastanawiam skąd "w Google" można znaleźć odpowiedź jak uważasz że dawanie kodu jest takie złe to w ogóle go nie powinno nigdzie być...

Uważam że więcej bym się nauczył gdybym nigdy nie znalazł gotowca no może poza hellołworldem. Aczkolwiek nikt nie lubi mieć zawsze pod górkę. Jak szuka to już znaczy że czymś myśli.
Dawanie kodu jest takie złe że nawet samemu dałem kod od szyfratora relokacji.
Uważam że dawanie kodu jest najbardziej szkodliwe gdy robi się to na początkujących osobach. Potem to już pół biedy, bo osoba i tak rozumie działanie języka i będzie w stanie to ogarnąć. A po prostu nie zawsze tego chce (mimo że czasami warto).

bo przecież dawanie kodu na forum jest złe no chyba że to dotyczy tylko tego forum?

Dotyczy to osób bardzo początkujących zwłaszcza. Poza tym jakoś to przeboleję ale mimo to uważam że gdy już coś wiedziałem to szybciej i więcej bym się dowiedział gdybym nie znalazł gotowców (nie mówimy w moim przypadku o forum).

Moim zdaniem nie powinno Cię interesować czy ktos odpowiada dając kod czy też tylko wskazówki w postaci słów kluczowych jakich powinien szukać i nie interesuje mnie czy później zada kolejne pytania - będę miał ochotę odpowiedzieć to odpowiem nie to nie chyba proste.

A moim skromnym zdaniem to leży w kwestii wszystkim aby forum było lepsze. Abrakadabra zrobił to zwracając mi uwagę gdy powiedziałem coś nie tak w innym wątku, ja zwracam mu. Wszystko po to aby forum było przydatne dla osób które naprawdę potrzebują pomocy. Wspominałem już nie raz dlaczego wskazówki są lepsze niż gotowce i swojej opinii nie zmieniłem.

Oczywiście wcześniej w programie np. w oncreate formy trzeba wywołać randomize (tylko raz)

ja nie wiem czemu wy jesteście tacy wściekli zawsze na to wykonywanie randomize tylko raz. Wiem że to dobry nawyk, że więcej nie potrzeba ale nigdy na to nie patrzyłem w kwestiach sprawy priorytetowej aby nie wykonać dwa razy randomize. Ale to taka dygresja.

Aby nie było offtopu mój kod

Gdzie ty tu offtop widzisz >.> . O tym dziwnym podejściu gdzie innych nakłaniasz do offtopu nie mówiąc.

BTW. Nie modyfikuj postów bo utrudniasz mi odpowiedź.

0

to sobie wstaw w onClick buttona taki kod

var
  i: Integer;
begin
  for i := 0 to 100 do
  begin
    Randomize();
    memo1.Lines.Add(IntToStr(Random(10000)));
  end;
end;

a zobaczysz dlaczego Randomize należy wywołać raz. Chociaż to nie do końca prawda bo tak na prawdę jeśli chcesz mieć wyniki chociaż trochę pseudolosowe to nie możesz wywoływać Randomize częściej niż co 10-16ms. Wynika to z dokładności systemowej funkcji GetTickCount, która służy do ustawiania randseed.

0
var
  i: Integer;
begin
  for i := 0 to 100 do
  begin
    Randomize();
    memo1.Lines.Add(IntToStr(Random(10000)));
  end;
end;

Ty chyba po prostu lubisz mnie nad interpretować. Pozwolisz że nie będę ci tłumaczył o co mi chodziło, bo wydaje mi się że jasno się wyraziłem.

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