Anonymní profil LukoSS – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil LukoSS – Programujte.comAnonymní profil LukoSS – Programujte.com

 

Příspěvky odeslané z IP adresy 88.103.252.–

LukoSS
Funkcionální programování › Jak efektivně začít?
11. 8. 2013   #180216

#13 Matěj Andrle
Ty neustále vycházíš z předpokladu, že každý, kdo se chce naučit programovat, se chce stát profesionálním programátorem. Možná tomu nebudeš věřit, ale existují i lidé, co mají programování jako koníček, a takovým lidem bohatě stačí, když se naučí jazyk typu Java nebo C# a budou si v tom dělat, co je napadne. Ale i když to člověk myslí s programováním vážně, tak neexistuje jediný důvod, proč by se měl nejprve učit strojový kód..

Efektivně začít právě znamená neučit se vše najednou, ale jít na to postupně. Nejprve je potřeba pochopit základní věci jako proměnné, podmínky, cykly... Až potom je možné procvičovat algoritmizaci. Až je člověk schopný něco naprogramovat, tak má smysl se učit psát přehledný a čitelný kód. Teprve v této fázi má pro daného člověka smysl, aby se zajímal o nějaké standarty, bezpečnost a podobně.

To tvoje přirovnání se zabíjením je samozřejmě úplně mimo. Já bych spíš přirovnal ty tvoje rady k tomu, když by ti někdo řekl, že se chce naučit řídit auto, a ty bys mu řekl, ať se nejprve dopodrobna naučí, co každá součástka v autě dělá, a v ideálním případě ať si nejprve sám nějaké auto postaví. Teoreticky se to může jevit jako správný přístup, ale v praxi je to naprostá blbost.

LukoSS
Funkcionální programování › Jak efektivně začít?
11. 8. 2013   #180211

#4 Matěj Andrle
Zase odrazuješ začátečníky? Proč by se proboha měl učit nejprve strojový kód? Co z toho bude mít? Akorát si řekne, že programování je pro něj příliš složité a přestane se o něj zajímat.

#1 Marek
Programovat lze i bez velkých znalostí matiky. Záleží totiž na tom, co člověk programuje. Věk také nehraje roli, i když je samozřejmě pravda, že čím dříve se k tomu člověk dostane, tím je to pro něj lepší.

U módů do her nejde napsat jeden jazyk, který bys k tomu mohl použít. Vždycky záleží na tom, v čem je ta hra napsaná a jaké využívá technologie.

Vyber si nějaký jazyk, projdi si k němu nějaké tutoriály nebo si kup knížku. Až si zvolený jazyk trochu osvojíš, tak se pusť do programování jednoduchých věcí jak píše KIIV. Jaký jazyk si vybereš není až tak podstatné, ale osobně bych doporučil buď C#, Javu, Python, nebo případně Pascal. Naopak se vyhni VisualBasicu a PHP, protože u nich si vytvoříš velice špatné návyky, které by ti pak komplikovaly přechod k jiným jazykům.

LukoSS
.NET › Překrývaní groupbox
6. 8. 2013   #179980

Fuj. Pojmennování Form1 a další podobné paskvily ihned odstraň.

Tímto se jako snažíš někomu pomoct? Co takhle místo toho slušně napsat, že je dobré si zvyknout na pojmenovávání formulářů?

Podle toho, co o sobě píšeš, tak jsi naprosto geniální člověk, takže moc nerozumím tomu, proč nedokážeš pochopit, že těmi tvými "radami" dosáhneš akorát toho, že se ti lidi na programování buď vykašlou, nebo v lepším případě přestanou chodit na tohle fórum.

A na Aspergerův syndrom to nehaž, ten člověku nebrání chovat se slušně a rozhodně člověka nezbavuje ega.

LukoSS
.NET › Překrývaní groupbox
6. 8. 2013   #179961

#2 Matěj Andrle
To ses rozhodl, že budeš tady na fóru odrazovat všechny začátečníky od programování? Protože jinak si ty tvoje příspěvky vysvětlit nedokážu. V původním příspěvku nevidím žádný dotaz na to, jak se správně pojmenovává, ani na to, jestli postupuje správně objektově, ani nic jiného, na co se jakoby snažíš odpovídat. Honit si ego kritizováním lidí, co se chtějí naučit programovat, dokáže každý. Ale že by ses třeba pokusil odpovědět na dotaz nebo tazatele nasměrovat správnou cestou, to už není taková zábava, co? Chtěl bych vidět tvoje první kódy, jestli dodržují všechny pravidla OOP a všechny proměnné a metody jsou v nich výstižně pojmenovány.

#1 wreis33
Stačí nastavit oběma GroupBoxům stejnou pozici, a prvky, co jsou v nich, se přesunou samy. Pokud máš na formuláři místo, tak můžeš mít jeden GroupBox vedle toho druhého a až za běhu programu jej můžeš přesunout na místo toho druhého. Samozřejmě je potřeba myslet na to, že pokud je jeden GroupBox viditelný, tak ten druhý musíš zneviditelnit, protože jinak by šel vždycky vidět jen ten, který jsi přidal jako první.

LukoSS
.NET › Konzole - detekce řádků
30. 7. 2013   #179718

Myslím, že bude opravdu nutné si ten počet řádků spočítat. Lze k tomu snadno využít vlastnost WindowWidth, která vrací šířku okna v podobě počtu sloupců..

LukoSS
.NET › MonthCalendar select date
18. 7. 2013   #179303

#1 Mutagen
Co takhle použít metodu .SetDate()?

LukoSS
.NET › Přetypování string na int
11. 4. 2013   #174860

#10 naromax
Dotaz původně zněl jak převést řetězec na číslo a když už se tu objevil kód s Convert.ToInt32, tak jsem se jen snažil ukázat správnou cestu. To, že by mělo být heslo string a ne int je samozřejmě pravda, o tom nemá cenu diskutovat..

LukoSS
.NET › Přetypování string na int
11. 4. 2013   #174852

#8 naromax
Programátor nikdy nesmí důvěřovat vstupu od uživatele    Convert.ToInt32 vyhodí výjimku v případě, že vstup není číslo. Proto by bylo lepší řešení třeba tohle:

int heslo = 1234;
int zadaneHeslo;

if (Int32.TryParse(tbHeslo.Text, out zadaneHeslo) && heslo == zadaneHeslo)
{
	Form2 form = new Form2();
	form.Show();
}

Metoda TryParse vrací true v případě, že se povedlo ze stringu získat číslo, jinak vrací false..

LukoSS
C / C++ › Má cenu studovat vysokou ško…
3. 2. 2013   #171060

Myslím, že uděláš nejlíp, když nad tím nebudeš tak moc přemýšlet. Baví tě programování? Tak zkus jít na vysokou. Stejně je nepravděpodobné, že bys hned po maturitě sehnal práci. Navíc, když teď půjdeš na vysokou, tak se myslím vyhneš školnému/zápisnému nebo jak tomu teď říkají.. A nemysli si, že když po roce na vysoké skončíš, tak že to bude ztráta času. I za ten rok se přiučíš novým věcem a získáš cenné zkušenosti. Zkrátka pokud tu vysokou zkusíš, tak vlastně nemáš co ztratit, můžeš jen získat..

Taky hodně záleží na tom, na jakou vysokou bys šel. Pokud se na matiku moc necítíš a půjdeš na VUT, tak je jasné, že se tam moc neohřeješ, ale existují i jednodušší školy s obory, které na matiku nekladou tak velký důraz.

Co se týče budoucího zaměstnání, tak i kdyby ti matika opravdu moc nešla, tak to neznamená, že se nemůžeš uživit programováním. Ono totiž záleží na tom, co budeš programovat. Samozřejmě, pokud budeš dělat obyčejné webovky, tak musíš počítat s tím, že budeš mít menší plat, ale myslím, že i ti nejhůře placení programátoři mají plat, který se pohybuje okolo průměrného platu v ČR, takže se nemusíš bát, že by ses tím neuživil.

LukoSS
.NET › Pole objektov
31. 1. 2013   #170955

#1 Tayson
Příkazem

zamestnanec[] zam = new zamestnanec[10000];

pouze řekneš, že chceš alokovat paměť pro 10000 prvků typu zamestnanec, ale toto pole je stále prázdné, takže při pokusu o přístup k prvku 

zam[i].ziskajmeno();

nepřistupuješ k objektu zaměstance, ale k hodnotě NULL, což samozřejmě vyhodí vyjímku.

Aby tvůj příklad fungoval, musel by ten for cyklus vypadat třeba takhle:
 

for(i=1;i<10000;i++)
{
	zam[i] = new zamestnanec();
	zam[i].ziskajmeno();
	...

Samozřejmě, jak jsi správně uvedl, je zbytečné vytvářet 10000 prvků. V podstatě máš 2 jednoduché možnosti, jak tohle vyřešit:

  1. Na začátku si vytvoříš pole s 0 prvky. Před přidáním nového prvku zavoláš metodu Array.Resize.
  2. Místo pole použiješ List<zamestnanec>.

LukoSS
.NET › C# zobrazování aktuálního ča…
28. 6. 2012   #159632
LukoSS
3D Studio MAX › Hledám 3D grafika
24. 6. 2012   #159471

Omlouvám se za OT, ale nemohl jsem si to odpustit, protože takováto vlákna jen zbytečně snižují kvalitu tohoto fóra.

Je zajímavé, jak se tu z jedné ip adresy ( http://programujte.com/…ofil/159288/ ) stále objevují nápady na tvorbu vlastních jazyků http://programujte.com/…-programu-2/ a vlastních kompilátorů http://programujte.com/…kompilatoru/ .. Jen nerozumím jedné věci, proč máš potřebu si zakládat nový účet, když pak stejně použiješ stejný email, podle kterého je jasné, že to jsi pořád ty.. http://programujte.com/…rogramatora/

Každopádně ti přeju hodně štěstí s tvorbou hry. Pokud to plánuješ zvládnout sám s jedním grafikem, tak pak dej za pár let vědět, jak pokračují práce 

LukoSS
C / C++ › Zvetsit pismo - jak na to
22. 6. 2012   #159430
LukoSS
.NET › C# zobrazování aktuálního ča…
22. 6. 2012   #159425

Ten timer, který má na mysli Mutagen je System.Windows.Forms.Timer a ne System.Timers.Timer

LukoSS
.NET › procentuální podíl v C#
1. 4. 2012   #155826
LukoSS
.NET › procentuální podíl v C#
1. 4. 2012   #155813

Jen dodám vysvětlení proč ten postup v prvním příspěvku nefunguje, i když je na první pohled správný. C# má pravidlo, které vychází z jazyka C, a které zní, že pokud se vykonává operace mezi dvěma celými čísly, výsledek je opět celé číslo. Takže jelikož to dělení vždycky vyjde jako desetinné číslo, tak se ta desetinná část zahodí a zbude 0. Nejsnadnější řešení je jedno z těch čísel přetypovat na desetinný typ, takže stačí ten původní kód upravit například takto:

double procentjedna = ((float)edna/(dva+edna))*100;
double procentdva = ((float)dva/(dva+edna))*100;
LukoSS
.NET › Regulární výraz v c#
7. 3. 2012   #154482

Pokud jsem to správně pochopil, tak se obejdeš i ber regulérních výrazů. Stačí si nejprve vzít řetězec za mezerou a pak zavolat metodu Split. Mohlo by to vypadat nějak takto:

string text = "ABCD102 0;1;2;3";
string textZaMezerou = text.Substring(text.IndexOf(' '));
string[] podretezce = textZaMezerou.Split(';');
LukoSS
Visual Basic › Začátečník - hello, world -…
12. 2. 2012   #153459

Problém je v tom, že používáš Visual Basic 2010, ale ten tvůj kód je v C++. Budeš si buď muset stáhnout Visual C++ nebo se poohlédnout po nějakém tutoriálu na Visual Basic..

LukoSS
PHP › Vytvoření rozsahu času (od-d…
12. 2. 2012   #153453

#9 CZechBoY
To můžeš vyřešit jednoduše tak, že si naprogramuješ tu funkci, kterou jsem ti popisoval a budeš jí předávat postupně intervaly z toho pole takto:

  • Uděláš si pomocnou proměnnou, do které na začátku uložíš čas v prvním prvku pole.
  • V cyklu budeš postupně procházet pole a kontrolovat, jestli pole[i] a pole[i+1] má mezi sebou těch 5 minut.
  • Jakmile zjistíš, že ta podmínka není splněná, tak vezmeš ten čas z té pomocné proměnné a čas z pole[i] a buď ty časy budou rozdílné, v tom případě můžeš vypsat to rozmezí od - do, a nebo budou ty časy stejné a pak vezmeš ten čas z pole[i]. V každém případě si pak do té pomocné proměnné uložíš čas z pole[i+1].

Podle mě by toto mělo fungovat, ale píšu to z hlavy..

LukoSS
PHP › Vytvoření rozsahu času (od-d…
11. 2. 2012   #153442

#7 CZechBoY
Tak moment, asi by jsi měl pořádně vysvětlit o co se snažíš. V prvním postu píšeš, že máš seznam časů po pěti minutách a později najednou řešíš, co když to po pěti minutách není. Co se má teda stát, když to po těch pěti minutách není?

LukoSS
PHP › Vytvoření rozsahu času (od-d…
11. 2. 2012   #153413

Tak si to pole setřiď a pak ho projdi a testuj, jestli má následující prvek o 5 minut větší čas než ten předchozí. Pokud to bude splněno, tak rovnou vezmeš první a poslední prvek máš to vyřešené.

LukoSS
.NET › C# Formátování čísla v textb…
9. 2. 2012   #153360

#11 liborb
Při vložení textu přes Ctrl+V se zavolá KeyUp, takže se tam ty mezery vloží správně. Samozřejmě pokud se najde někdo, kdo klikne pravým a dá vložit, tak už nastane problém, ale z toho co jsem pochopil, tak se tam ty čísla budou zadávat ručně, takže to není nezbytně nutné řešit. Stejně tak různé úpravy částí textu, tedy kromě toho smazání čísla, pokud je kurzor na mezeře. Hlavně je ale důležité si správně pohlídat pozici kurzoru, protože ho po tom přidání mezer nelze jen vrátit zpátky na původní místo..

Ale souhlasím, že by bylo vhodné vytvořit si svoji komponentu, která bude dědit z TextBoxu. Něco takového se do budoucna může hodit.

LukoSS
.NET › C# Formátování čísla v textb…
9. 2. 2012   #153353

#8 Chatař
Teď se dívám, že jsem si špatně přečetl tvůj příspěvek, tak to o tom formátování po stisku tečky ignoruj 

LukoSS
.NET › C# Formátování čísla v textb…
9. 2. 2012   #153352

#8 Chatař
Událost KeyUp nastane po puštění klávesy. Pokud to budeš testovat po stisku tečky nebo čárky, tak si velmi usnadníš práci, nicméně je potřeba myslet na to, že se někdo splete a bude pak opravovat to číslo. Pak by se ta metoda nezavolala a bylo by to zformátované špatně. Stejně tak při stisku backspace nebo delete.

LukoSS
.NET › C# Formátování čísla v textb…
9. 2. 2012   #153344

#6 Chatař
Já bych tento problém řešil tak, že bych nejprve zkontroloval, zda ten textBox obsahuje pouze čísla + jednu tečku/čárku. Pak bych vzal část, ve které jsou celá čísla, a tu bych předal metodě, která jim přidá ty mezery. Ta metoda by mohla vypadat nějak takto (parametr charCount je počet znaků, po kterých to má rozdělovat řetězec, takže v tomto případě to bude 3):

private string AddSpaces(string text, int charCount)
{
    string textWithSpaces = String.Empty;
    int textLength = text.Length;
    int firstSpace = textLength % charCount;
    int lastSpace = 0;

    for (int i = firstSpace; i < textLength; lastSpace = i, i += charCount)
        textWithSpaces += text.Substring(lastSpace, i - lastSpace) + ' ';

    textWithSpaces += text.Substring(lastSpace);

    return textWithSpaces.Trim();
}

Po té úpravě je potřeba nějakým způsobem umístit kurzor na správné místo. Tuto metodu budeš muset volat asi v KeyUp eventu. Tahle metoda neřeší, jestli v textu už mezery jsou nebo ne, ale s tím si určitě poradíš.

To, jestli uživatel zadal tečku nebo čárku můžeš kontrolovat až po stisku toho tlačítka (stačí na tom textu zavolat metodu Replace a nahradit případnou čárku tečkou). Aby se to chovalo jako číslo, tak bude pak samozřejmě nutné odstranit i ty mezery.

No snad jsem tě nakopl správným směrem..

LukoSS
.NET › C# Formátování čísla v textb…
9. 2. 2012   #153339

Pokud dobře rozumím otázce, tak tu jde jen o doplnění mezer po třech znacích, počítaných od konce. To by nemělo být nijak obtížné. Myslím, že stojí za úvahu, jestli má to přidávání mezer při psaní vůbec smysl. Je to trochu pracnější a některé uživatele by tohle chování mohlo mást.

LukoSS
C / C++ › C#Forms-Posunutí tlačítka
17. 1. 2012   #152493

Pokud chceš udělat plynulý posun, tak na to použij timer 

LukoSS
C / C++ › C#Forms-Posunutí tlačítka
16. 1. 2012   #152471

#4 nevimjakejmeno
Můžu vědět, proč vlastně 100x (nebo vlastně jen 99x) provádíš přesun o 1px? Nebylo by jednodušší mu nastavit přímo tu pozici? Nehledě na to, že místo toho, aby sis vytáhl aktuální pozici a pak k ní přičetl nebo odečetl nějakou hodnotu, tak si napevno nastavíš ix = 74. Celá ta metoda jde přepsat takto:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
	if (checkBox1.Checked == true)
		button1.Left += 100;
	else
                button1.Left -= 100;

	textBox1.Visible = checkBox1.Checked;
}
LukoSS
C / C++ › C#Forms-Posunutí tlačítka
16. 1. 2012   #152454

1. Kód neposunuje tlačítko o 100px, jen se snažíš 100x přiřadit hodnotu 1 (a 100x nastavit Visible na false, což nemá žádnou logiku)

2. Vlastnost Location je jen pro čtení, pro zápis musíš využít vlastnosti Left a Top

3. Co je těžkého na pochopení této věty?

Diskuze věnovaná jazykům C a C++.

Vlákna o C# patří do diskuze .NET.

LukoSS
.NET › KeyDown a diakritika
15. 1. 2012   #152417

Jenom doplním, že pro znaky jako ť to samozřejmě fungovat nebude. Na takové věci ty Key* události nejsou dělané, takže bude možná lepší napsat, k čemu to zachytávání potřebuješ, a možná ti tu pak někdo poradí rozumnější způsob, jak toho dosáhnout.

LukoSS
.NET › Nahodna cisla a jejich vynec…
11. 1. 2012   #152239

Ona je hlavně blbost vytvářet novou instanci třídy Random po každé, když chceš vygenerovat další číslo.

Mimochodem, měl by si proměnným dávat rozumnější jména. Pojmenovat si bool proměnnou jako "TrueOrFalse" není příliš dobrý nápad. 

LukoSS
.NET › [C#] Jak vrátit hodnotu ze t…
11. 1. 2012   #152228
LukoSS
.NET › Nahodna cisla a jejich vynec…
11. 1. 2012   #152218

Pokud generuješ náhodná čísla v nějakém souvislém intervalu, tak je lepší vytvořit pole bool hodnot, kde každé číslo bude odpovídat určitému indexu v poli. Po vygenerování čísla pak stačí jen testovat, jestli na daném indexu v poli je false, pokud ano, tak to znamená, že dané číslo ještě nebylo použito. Výsledný kód by mohl vypadat nějak takto:

List<int> GenerateRandomNumbers(int min, int max)
{
    int number;
    int length = max - min;
    List<int> randomNumbers = new List<int>(length);
    bool[] indexes;
    Random generator;

    generator = new Random();
    indexes = new bool[length];

    for (int i = 0; i < length; )
    {
        number = generator.Next(min, max);
        if (!indexes[number - min])
        {
            indexes[number - min] = true;
            randomNumbers.Add(number);
            i++;
        }
    }
    return randomNumbers;
}

Tento kód předpokládá, že minimální hodnota bude >= 0

LukoSS
.NET › Dynamické vytvoření PictureB…
9. 1. 2012   #152142

#19 zlz
To je dobrá připomínka  Z toho prvního postu mi to tak ale vyznívá. Stejně je to jen věštění z koule, ten kód v prvním postu je v pořádku, takže není možné poradit víc, než co napsal Thew.

LukoSS
.NET › Dynamické vytvoření PictureB…
9. 1. 2012   #152131

#16 Thew
Teoreticky ano, ale pokud by to vyhodilo vyjímku, tak by to nemělo dojít k tomu kódu, co vypisuje to "Make Picture" a z toho screenu se zdá, že se ta metoda zavolá a bez problémů dojde až na poslední řádek..

LukoSS
.NET › Dynamické vytvoření PictureB…
9. 1. 2012   #152126

Cesta k obrázku by měla být v pořádku, protože kdyby nebyla, tak to vyhodí vyjímku. Co je vlastně na tom screenu ten bílý obdélník s tím "BuffBar"? Není to nějaký TextBox nebo něco?

LukoSS
.NET › Dynamické vytvoření PictureB…
6. 1. 2012   #152018

Ten kód je v pořádku, sám jsem ho teď testoval, takže chyba musí být někde jinde. Chce to zkontrolovat, jaké hodnoty jsou v těch argumentech metody, jestli třeba ta pozice není mimo form a podobně.. Když tak sem hoď i kód, který tu metodu volá, protože jinak se dá jen tipovat, co je špatně.

LukoSS
.NET › Dynamické vytvoření PictureB…
4. 1. 2012   #151947

Nechybí tam náhodou tohle?

this.PicBox.Visible = true;
tomas
Java › Semestrálka(okenni aplikace)…
23. 10. 2011   #149008

Ahoj,

Chtěl bych se zeptat, zda někdo nepracuje ve vývojovém prostředí pro javu od Oracle. Jako projekt na semestrálku bych rád udělal práci s obrázkem ale jsem vcelku ztracen. Má by se jednat o okenní aplikaci. 

Chtěl bych poprosit někoho, kdo by mi udělal ukázkový příklad přímo v tom prostředí od Oracle. Tento kód mám z C++ a rád bych aby fungoval v javě. Se zbytkem už bych si poradil nějak. Děkuji

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TColor c;
  char r, g, b;
  for (int x=0; x<=Image1->Width; ++x)
  {

for (int y=0;y<=Image1->Height;y++)
{
   c = Image1->Canvas->Pixels[x][y];
   r = GetRValue(c);
   g = GetGValue(c);
   b = GetBValue(c);

   int jas = r*0.3 + g*0.6 + b*0.1 + 0.5;

   Image2->Canvas->Pixels[x][y] = RGB(jas, jas, jas);
  }
  }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
                  
  Image2->Picture->SaveToFile("Obrazek.bmp");

}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý