Olen viimeset viisi vuotta ollu aika irtaallaa natiivista koodaamisesta. Javaa, php:tä ja sen semmosta on tullu värkättyä. Nyt aikaa säästääkseni turvaudun yhteisön apuun ;)
Nyt iski halu tehdä pikkusimppeli ohjelma, joka toimii, kun exe:n asentaa koneeseen. Ohjelman tarkotus on tuupata FTP-ptotokollalla tiedostot palvelimelle muutaman tarkistuksen kera.
Imuroin C# ja koodasin pätkän hetkessä, siten, että uploadi kulki omassa säikeessään ja progressbar näytti etenemisen. Heitin tekeleen saman tien roskiin kun testikoneella olis pitäny .net RTL asentaa ja se ei eka yrityksellä menny.
Sama juttu Javan kanssa, en halua että käyttäjät joutuu RTE:n asentamiseen.
Seuraavaksi koitin FreePascal&Lazarusta. Ongelma on FTP protokolla. En löytäny kirjastoa, jolla saisin helposti uploadin niin, että eteneminen olisi hallussa.
C kirjastoja netti on pullollaan, joten kaivataan vinkkiä hyvästä FTP-kirjastosta pascaliin tai ilmasta C/C kääntäjää, jolla saa natiivia exeä aikaan. Eikös Turbo C ole nykyisin ilmanen?
Natiivia ilman RTL:ää ja verkkoa
9
304
Vastaukset
- Lightweight Networking Library
Eräs ratkaisu voisi olla vaikkapa
Lightweight Networking Library
http://lnet.wordpress.com/ - ------------------
Mitä kokeilit?
Tarjolla on myös Synapse
http://synapse.ararat.cz/ - Niinpä niinkin
Myöskin Indy on tarjolla!
http://wiki.mureakuha.com/wiki/Indy_Project - "vanha" koodari
Kivasti synty ohjelma pascalilla, vaikka ei vielä toimikkaan. Käyttöliittymä ja toiminnot teidostosiirtoa lukuunottamatta kyllä. Näin, vaikka enemmän olen käyttänyt sitä liki 20-vuotta sitten ;)
Lazarus( free pascal) on kyllä hieno peli yhteisötuotteeksi!
Kokeilin synapsea, mutta äkkiseltään siitä ei ole riittävästi hookkeja seurata FTP-siirron etenemistä.
Lightweight Networking Library taas olisi muuten loistava (metodit periaatetasolla), mutta jostain syystä vaikka kutsut menee läpi ja funktioiden paluuarvot on oikeita (True), mitään ei siirry.
Ei ole ollut riittävästi aikaa ja nytkin tulevat illat ja viikonloppu ei mahdollista koodikynän esillenostoa ;(- LNet
Ehkäpä asiaa kannattaisi kysyä suoraan "Lightweight Networking Library":n tekijöiltä.
Ainahan voi olla niin että johonkin on jäänyt pieni virhe
tai sitten ei ole huomioitu tuontapaista käyttöä (tai sitten se on ajateltu tehtäväksi jotenkin muuten). Kaikenlainen (testi)palaute on hyödyksi!
Kerro lisää kokemuksistasi!
- hemmoit
On se että joudut otamaan paljon kamaa mukaan joko staatisesti tai dynaamisesti. sama koskee c builderia.
ja uusiman turbon saat täältä:
http://www.turboexplorer.com/cpp
eclipse cdt on myös pätevä vaihtoehto....- Delphikoodari..
Minä taas tykkään siitä, että Delphillä saa tehtyä pelkän exen ja se toimii koneessa kuin koneessa, kunhan Windows on alla :) Toki se tietty riippuu softasta, miten sen tekee, mutta yleensä ei tarvi pelleillä ylimmääräisten dll-kirjastojen kanssa :)
Visual Basicin kanssa en ole ollut paljon tekemisissä ja kun jouduin siirtämään työkaverin tekemän VB-softan koneelleni, niin heti tuli läjä virheilmoituksia, että se puuttuu ja se puuttuu...aaah! - Niinpä niin
Väitit:
"Delphin ongelma on se että joudut otamaan paljon kamaa mukaan joko staatisesti tai dynaamisesti."
No tuo ei ihan pidä paikkaansa. Väitteesi on totta peruskoodarin näkökulmasta katsottuna. Tai jos ajattelee pääsevänsä helpolla niin tuo pitää paikkansa!
Toisaalta pitää kysyä onko tuo tosiaakin niin suuri ongelma että
kannattaa tutkia muita ratkaisuja (Jokaisella ratkaisulla on omat heikkoutensa)!
- Mika0800
FTP Delphillä
tähän löytyy useitakin ratkaisuja.
Ensin valmiita aliohjelma/komponenttikirjastoja:
ICS - Internet Component Suite (by Francois Piette)
Indy (by Kudzu)
Ararat Synapse
ja sitten, vaikka ei olekaan valmis komponentti, niin tämä saattaa olla silti helpoin ratkaisu
Wininet API.
delphikoodiin:
uses
WinInet;
ja dokumentaatiota löytyy MSDN:stä
esim:
InternetOpen
InternetOpenURL
tuolla WinInet API:lla voi helposti toteuttaa vaikkapa tällaisen:
type
TFTPWriteOnlyStream = class(TStream)
constructor Create(FtpServerName, FtpPathName, FtpUsername, FtpPassWord : String);
procedure Write(const Buffer; BufLen:Integer):Integer;
end;
Tuo on sikäli tyylikäs ratkaisu, että tällöin voi helposti uploadata tiedoston kopioimalla streamista toiseen...
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Purra sössi kaiken 2 vuodessa, itkee nyt Marinin perään
Nyt on taas sama vanha itkuvirsi, kun ei omat taidot riittänee. Kaikki on taas muiden syytä. No miten sen "Tunnin juna"819052Ikuiset kaipaajat
Miksette vaan mene sen kaipauksen kohteen luokse ja puhu sille suoraan? Mitä järkeä on kaipailla jotain puolituttua vuo1645769Nyt se on selvitetty: Sanna Marinin hallitus lisäsi menoja 41 miljardilla
”vasemmistohallitus oli katastrofaalisen huono”, sanoo kokoomus. Sanna Marinin (sd.) hallituksen tekemät menolisäykset1425144Orpon hallitus runnoi Tunnin junan ilman tarvetta
Näinkö valtiontaloutta hoidetaan? Siis asiantuntijoidenkin aikoja sitten kannattamattomaksi laskema Tunnin juna tehdään263960Riikka ottaa miljardi euroa EU:n yhteisvelkaa Suomelle
Niin kääntyi irvipersun takki taas, vaikka vaalilupauksissa oli ettei yhteisvelkaa Suomi enää koskaan ota. No nyt otti m863509Lindtman ylivoimainen suosikki pääministeriksi
Lindtmania kannattaa pääministeriksi peräti 50 prosenttia useampi kuin toiseksi suosituinta Kaikkosta. https://www.ilta563428Eli persujen rääkyminen Marinin hallituksen velanotosta oli sitä itseään
"Valtiovarainministeriön mukaan Marinin hallitus lisäsi valtion pysyviä menoja 3 miljardia eikä 11 miljardia euroa." El112972Sanna Marin - Maailman paras talousasiantuntija?
PersKeKoa pukkaa? https://www.hs.fi/politiikka/art-2000011636623.html1082808Veronmaksajat kustantavat yrittäjien eläkkeitä jo yli 500 miljoonalla
Suomalaista yrittäjää ei kommunistista erota. Aktiivisen "yrittämisen" maksattaa yritystukina yhteiskunnalla, ja vieläpä432780En tiedä ymmärrätkö
Kuinka paljon merkitset mulle. Näet minut minuna etkä silti käännä selkääsi. Tökit jatkuvasti kepillä jäätä ja menit ehk102771