Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zadatak za posao

[es] :: .NET :: Zadatak za posao

[ Pregleda: 2396 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Zadatak za posao19.02.2016. u 23:47 - pre 64 meseci
Poz, aplicirao sam u jednoj firmi za Junior programera i dobio sam zadatak koji se sastoji iz 2 dela, prvi sam odradio i rekli su da fino radi a sa drugim se malo mucim jer do sada nisam radio nista slicno, naime:

treba da u windows c# wpf aplikaciji upotrebim .c i .h fajlove koji su mi poslali i da ti fajlovi urade analizu csv fajla koji su mi isto poslali i da ispise rezultat u GUI okruzenju.
Zezam se celo popodne i nisam stigao daleko.
Uspeo sam da od ovih fajlova kompajliram dll datoteku koju kada sam hteo da implementiram kroz add>refference nije hteo da implementira jer nije COM???. Oko toga sam se vrteo 2-3 sata pokusavao da registrujem dll, medjutim nisam uspeo da dodam kroz refference. Posle sam citao na netu da moze da se implementira kroz DllImportAttribute Class. Medjutim tu sam stao i vec je jako kasno a sedim za kompom 6 sati "straight". Molio bih sve ljude koji imaju volje da mi daju neki savet pa da sutra nastavim i uz malo srece i pomoci da dovrsim zadatak.

Zakacio sam zip u kome su c i h source fajlovi i slike kako treba da izgleda i sta treba da daje za output.
Prikačeni fajlovi
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: Zadatak za posao19.02.2016. u 23:56 - pre 64 meseci
Ovo sto si napisao ovde, napisi i njima, samo malo detaljnije. Napisi sta je trebalo da uradis, sta si pokusao, zasto i kako nije radilo, na sta si sumnjao i kako si trazio resenje problema.

Takav odgovor ce ceniti 10x vise nego gotovo resenje.
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1337
*.dynamic.sbb.rs.



+309 Profil

icon Re: Zadatak za posao20.02.2016. u 10:24 - pre 64 meseci
A čime se bavi ta firma?
Ako je nešto specifično kao obrada signala i traži se da imaš predznanje u toj oblasti, onda je "recimo" zadatak u redu.
Ako se ne traži takvo predznanje i ovo navedeno je sve što si dobio od input-a, iz iskustva - zaobišao bih takvu firmu.
Na kraju, možda je ono što kaže 3way - proveravaju koliko si spreman da zagrizeš i da se mučiš, kopaš, učiš, pokušavaš
da rešiš samostalno + uz njihovu pomoć gde pokazuješ veštinu komunikacije i neke druge veoma bitne osobine.
 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 10:25 - pre 64 meseci
@3way ako ne uspem napisacu im jedan poduzi mail (kao dnevnik) sta sam radio u prethodnih 48h :). Mozda im to bude dovoljno - mada mislim da je odradjen zadatak u svakom slucaju bolje.


POMAK u odnosu na juce, mali ali u pravom smeru.

Kompajlirao sam c fajlove i uspesno odradjuju analizu csv (uz dva mala errora koja mogu da se ignorisu) . Dakle pravo pitanje:

Integrisati C fajlove u C# WPF da daju isti rezultat ali u GUI okruzenju, naravno bez crtanja onog grafikona(to je bio prvi zadatak).

Dali neko ima iskustva u ovome? Ja sam u C-u radio pre 15+ godina, ali nikad kombinaciju sa .NET.

Kao sto sam rekao u prvom postu nisam siguran dali treba da kompajliram DLL pa taj DLL upotrebim (nisam siguran uposte kako) ili mogu bez DLL-a samo da dodam C fajlove pa njih da upotrebim (nisam ni ovo nikad radio).




Odoh da guglam kao nikad do sad :D
 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 10:32 - pre 64 meseci
@dusans

mala firma oko 10 zaposlenih, prave hard/soft resenja za NFC i jos neke dodatne stvari oko testiranja harvera. Ako hoce da mi daju sansu prihvaticu oberucke.
Najveci fazon je sto ovo nije klasican programerski zadatak (to je bio prvi u vezi prokazivanja grafika iz CSV fajla) nego kako integrisati C u C#.NET.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12773



+4722 Profil

icon Re: Zadatak za posao20.02.2016. u 10:55 - pre 64 meseci
Ako napravis dll sa funkcijama, iz .net projekta ih mozes pozivati ovako: https://msdn.microsoft.com/en-...ary/aa288468%28v=vs.71%29.aspx
 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 11:05 - pre 64 meseci
Hvala,
evo pokusavam... Tamo sam stao juce oko pola 1 ujutru :)

dali moze da se odradi i bez kompajliranja DLL-a, tj samo ako se uvuku C fajlovi?

[Ovu poruku je menjao ..Spaceman dana 20.02.2016. u 12:18 GMT+1]
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1337
*.dynamic.sbb.rs.



+309 Profil

icon Re: Zadatak za posao20.02.2016. u 12:49 - pre 64 meseci
C# kompajler ne kompajlira niti je namera da kompajlira c programe,
dakle ne možeš da ih dodaš u C# projekat i da to tako radi.
Standardno rešenje je da uvučeš .c i .h fajlove u poseban C++ projekat koji kompajliraš u DLL.
Pošto je u pitanju C a ne C++, pogledaj ove stvari:
http://stackoverflow.com/quest...visual-studio-c-language-not-c
http://www.codeproject.com/Art...library-in-C-and-then-use-it-w

Mislim da ovaj primer obuhvata najviše stvari koje ti trebaju:
http://www.zealfortechnology.c...sual-studio-2012-implicit.html
 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 13:11 - pre 64 meseci
Hvala,
Vec sam napravio DLL i pokusao da ga uvucem sa Platform Invoke

[DllImport("D:\\Win32Project3.dll")]
static extern bool functs(string path);
private void Button_Click_1(object sender, RoutedEventArgs e)
{
functs("A 106 pause-5mm_m.csv");
}

medjutim dobio sam poruku da ne postoji takav "entry point". Kako da znam koji entry point da koristim?



citam na netu da mogu da pogledam to mogu da pogledam sa dependency walker i DLLexp programima. DLLexp ne pokazuje nista, a Dependency Walker daje neki error.





Znaci kada kompajliram exe iz C fajlova i pokrenem exe A 106 pause-5mm_m.csv, odradi analizu, sve OK

Medjutim sa DLL nece tj ne nadje "entry point"
Dali je mozda DLL lose kompajliran ili nesto?

 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1337
*.dynamic.sbb.rs.



+309 Profil

icon Re: Zadatak za posao20.02.2016. u 13:30 - pre 64 meseci
Za početak:
1. functs nije funkcija već source fajl, dakle ne možeš da pozoveš njega već samo neku negovu funkciju (npr. main).
2. Da bi neka funkcija iz functs bila eksportovana, mora da bude deklarisana sa __declspec(dllexport) u functs.h fajlu (koga trenutno i nemaš u onom source-u - moraš da ga napraviš)

Međutim, ako mene pitaš, ne bih puno lupao glavu i nabadao već bih krenuo bih odavde:
http://www.zealfortechnology.c...sual-studio-2012-implicit.html
Tek kada taj osnovni primer profunkcioniše, probao bih da doteram ovaj source koji si dobio na osnovu njega.

 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 14:18 - pre 64 meseci
hvala,
nisam siguran koju funkciju da pozovem iz tog dll fajla.
Zbunjuje me to sto kada kompajliram fajlove dobijem funkcionalan exe fajl. Kako da znam koju funkciju da pozovem?

Prosao sam proceduru od pocetka sa linka koji si mi dao, napravio DLL od mojih fajlova i kada sam stigao do add refference opet mi je prilikom imortovanja dao error



na toj gresci sam bio i jutros, a i kako vidim primer sa linka nije GUI nego Console Application. U zadatku se trazi da prikazem rezultat u GUI WPF aplikaciji
 
Odgovor na temu

..Spaceman

Član broj: 134785
Poruke: 37
*.dynamic.surfer.at.



+4 Profil

icon Re: Zadatak za posao20.02.2016. u 17:08 - pre 64 meseci
Skontao sam da im "podvalim" exe fajl umesto dll fajla pa kud puklo da puklo. Nisu rekli nigde da je to zabranjeno i da mora DLL. Rekli su samo da mora da se implementira i da bude u GUI. A cim imam sve podatke u stringu mogu da radim sta hocu...


Code:

        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
            pProcess.StartInfo.FileName = "C:\\Users\\space\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication3\\Debug\\ConsoleApplication3.exe";
            pProcess.StartInfo.Arguments = "A 106 file.csv";
            pProcess.StartInfo.UseShellExecute = false;
            pProcess.StartInfo.RedirectStandardOutput = true;
            pProcess.StartInfo.WorkingDirectory = "C:\\Users\\space\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication3\\Debug";

            pProcess.Start();

            string strOutput = pProcess.StandardOutput.ReadToEnd();

            pProcess.WaitForExit();

        }


JEDINI problem mi ovde pravi to sto moram da kliknem 2x na ignore da bih dobio podatke



Ima neko nekih ideja kako da to automatski odradim da nemoram da kliknem???

 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1236



+93 Profil

icon Re: Zadatak za posao22.02.2016. u 00:33 - pre 64 meseci
Drugačiji pristup ovom problemu je da se napravi C++/CLI .NET biblioteka. Napraviš jednu C++/CLI klasu (ili više njih) koja će spolja da izgleda kao .NET klasa, a iznutra da poziva funkcije iz .c fajla. Mogu funkcije sve da budu static, a možda ima smisla i da klasa može da se instancira. U glavnoj aplikaciji samo dodaš referencu na novi assembly i koristiš ga kao i svaki drugi .NET assembly. U prvoj poruci na dole navedenoj temi imaš projekat Čelik.NET, koji je pravljen u C++/CLI. Projekat zapravo poziva funkcije eksternog dll-a koji ima C-ovski interfejs, ali tu bi mogle da stoje i neke funkcije čiji sors kod imaš:

http://www.elitesecurity.org/t...LR-Interop-Wrapper-za-CelikAPI
 
Odgovor na temu

[es] :: .NET :: Zadatak za posao

[ Pregleda: 2396 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.