Populația unui StringGrid
Draga macheter Delphi, am avut o întrebare: Cum pot umple un StrinGgrid # xA0; înregistrează linia în ordine aleatorie. Mulțumită în avans.
Ce este în conceptul dvs. de "linie în linie în ordine aleatorie", care este înregistrarea?
StringGrid1.Cells [1, 3]: = "text în celulă";
1 - coloana, 3 - linia este umplută cu textul "text în celulă" (fără ghilimele)
pentru i: = 1 la stringgrid1.colcount do
# xA0; pentru j: = 1 la stringgrid1.rowcount do
# xA0; #hA0; stringgrid1.cells [i, j]: = inttostr (aleatoriu (100))
Apoi, de asemenea,
randomiza;
în timp ce faceți
StringGrid1.Cells [aleatoriu (StringGrid1.ColCount - 1), aleatoriu (StringGrid1.RowCount - 1)]: = inttostrt (random ());
> Ați construit complet carcasele?
nu
rând după rând
apoi rândurile sunt în ordine aleatorie,
dar dacă este așa:
roly, la întâmplare
Duc, și în [2], nu "linie cu linie", ci "înțepător" :) Randomly - yes. Dar până la 100 :) :))
Jawol, natyurlyh. Mai mult decât atât, în [2] indicele "out of." Este prezentat fără ambiguitate :)
Până când legea este specificată, toate ordinele sunt aleatorii.
Și indiferent de modul în care linia de linie nu funcționează, chiar dacă completați linia pregătită, atunci cel puțin va trebui să fie completat într-o celulă.
Vă propuneți să vă scoateți pălăria și să vă onorați un minut de tăcere?
var
# xA0; n: Integer;
# xA0; i, j: Integer;
# xA0; arrs: matrice de șir;
începe
# xA0; Randomizează;
# xA0; SetLength (arrs, sg.RowCount);
# xA0; pentru i: = 0 până la sg.RowCount-1 face
# xA0; începeți
# xA0; # xA0; pentru j: = 0 până la 80 face arrs [i]: = arrs [i] + Chr (Random (128));
# xA0; sfârșitul;
# xA0; n: = sg.RowCount-1;
# xA0; pentru i: = 0 la sg.RowCount-1 face sg.Rows [Random (n)] CommaText: = arrs [i];
Ei bine, prin această frază, pari că vrei să spui că nu trebuie să spui nimic, din moment ce, prin definiție, ești adevărul.
Puteți continua să încercați.
Ați întrebat, am răspuns la ce fel de pretenții.
> Random (n)
unde este garanția că de fiecare dată va fi un număr diferit și toate rândurile vor fi ocupate?
Ei bine, bine.
Și problema este rezolvată.
Nu există nici o garanție. O astfel de sarcină nu sa stabilit.
Acest exemplu este simplu.
P.S. Înțeleg că această metodă este "peranalny", dar am vrut să mă comport. )
> Hmm. Și proprietatea TStringGrid.Rows și metoda TStrings.Assign
> deja interzis?
Pentru numele lui Dumnezeu. Aceasta este doar o altă metodă)
Dar nu atât de evident -))
P.S. Înțeleg că această metodă este "peranalny", dar am vrut să mă comport. )
)) Apoi puteți lua mai mult firul fișierului și lungimea arbitrară (aleatorie) a tuturor rândurilor "zaloaditfromstrim". Într-un rând. Randomitatea este determinată de lungimea fluxului și de conținutul fișierului :) De fapt, într-adevăr, "rzhunimagu" :)))
Dau 80%, că dacă AFPAR se mai întoarce, atunci se pare că rândurile ar trebui luate din baza de date ;-)
Poate că va veni, dar doar să arunce o altă porțiune și să dispară din nou, nu știe / nu poate pune o întrebare, iar în astfel de cazuri această practică uneori ajută, să renunțe la întrebare și să privească lupta.
Participanții la conferință sunt egali. Atât cei care cer, cât și cei care răspund.
Conferința pentru începători, precum și pentru cei care întâmpină dificultăți în a explica ceea ce dorește. Cererea adresată participanților de a fi reciprocă, profesioniștii sunt solicitați separat - să fie atenți.
Ați tras fraza din context.
Mai departe pe text:
Cum să dai răspunsuri bune
Fii generos. Stresul asociat stresului poate face pe oameni impolite sau stupide care nu sunt.
La prima eroare specificați în privat. Nu este nevoie să umiliți public o persoană care, probabil, se înșeală sincer. Un utilizator nou poate să nu știe cum să caute arhivele sau unde este localizată sau publicată lista de întrebări frecvente.
Dacă nu vă puteți ajuta, nu interveniți. Nu glumiți cu privire la procedurile care pot distruge mediul utilizatorului - acest dolt vă poate lua glumele ca un ghid pentru acțiune.
Adresați-vă întrebări suplimentare pentru a obține mai multe informații. Dacă acest lucru este făcut în mod corect, persoana care întreabă ceva va învăța și la fel. Încercați să transformați o întrebare proastă într-una bună; amintiți - am fost toți începători.
Dacă răspundeți la întrebare, să răspundem în esență. Nu sugerați soluții rapide inventate, dacă în principiu nu se utilizează instrumentul sau se folosește abordarea greșită. Oferiți bani buni. Reformați întrebarea.
Ajutați-i pe public să beneficieze de această problemă. Când vă întâlniți cu o întrebare bună, întrebați-vă: "Cum modificați documentația relevantă sau lista de întrebări frecvente, astfel încât nimeni să nu întrebe această întrebare?". Apoi trimiteți suplimentul corespunzător celui care susține aceste documente.
Dacă ar fi trebuit să efectuați un studiu pentru a răspunde la întrebare, împărtășiți-vă experiența și nu scrieți ca și cum răspunsul va cădea de pe cer. A răspunde la o întrebare bună este cum să-i hrănești pe cei flămânzi o singură dată, dar să prezinți metoda de cercetare prin exemplu, este să vă învăț cum să obțineți hrană pentru viață.
> "Modificarea documentației sau a listei relevante
> Întrebări frecvente, că nimeni nu a întrebat mai mult această întrebare? ".
Apoi oamenii nu ar merge să pună întrebări dacă răspunsurile la întrebările frecvente au fost;)