Szerző |
Üzenet |
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Azért ha csak ennyi a gondot a tömbbel, attól én még nyugodtan használom. Azt hittem valami nyomós okod van rá, hogy ne használd. Attól én nem tekintem elcseszettnek, mert nem egyezik meg az elképzeléseimmel.
|
szer. feb. 21, 2007 9:40 |
|
|
T68m
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 12729 Tartózkodási hely: FLF
|
_optikus_ írta: T68m írta: A tömb egy elcseszett adatstrúktúra, már a pascalban is kár volt implementálni. Semmi gond ne hasznald, azert mert benne van es altalaban kenyelmes dolog meg nem kotelezo hasznalni. Ha neked nem teccik hasznalj pointeres lancot es szivasd magad vele
Nem egészen értelek! Fentiek miatt értelemszerűen nem használom. De hogy jönnek ide a pointeres láncok?
Tulkép egy-két matematikai műveleten túl nem is tudnék olyan példát mondani, ahol a tömbök önmagukban használhatóak lennének.
Tömbök hibái nyilvánvalóak:
- elemeinek azonosnak tipusunak (ebből kifolyólag méretűnek) kell lenni.
- méreteit (dimenziószámát és azok hosszát) program íráskor deklarálni kell
- a nem használt elemek is statikusan fogják a memóriát
- ebből kifolyólag méretének határt szab a memória
- csak szám, és azon belül is csak egész számmal lehet indexelni
- fentiek miatt nem lehet lekérdezni azt, hogy egy adott elem már létezik-e, hiszen a deklarált tartományban minden létezik, független attól, hogy használjuk-e
- nem képes kezelni a kicímzést
|
kedd feb. 20, 2007 22:58 |
|
|
_optikus_
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 474
|
T68m írta: A tömb egy elcseszett adatstrúktúra, már a pascalban is kár volt implementálni.
Semmi gond ne hasznald, azert mert benne van es altalaban kenyelmes dolog meg nem kotelezo hasznalni. Ha neked nem teccik hasznalj pointeres lancot es szivasd magad vele
|
kedd feb. 20, 2007 22:16 |
|
|
T68m
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 12729 Tartózkodási hely: FLF
|
off:
potyo írta: Mit használnál a tömb helyett Listát
igen, a lista indexelt változatát.
A tömb egyszerűen nem való magaszintű programozási nyelvbe.
|
kedd feb. 20, 2007 11:18 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Mit használnál a tömb helyett Listát
Mondjuk ez, hogy az integer mérete nincs deklarálva, ez a C-nél is így van, fordítótól függ. Az egyetemen azzal szivatott az aszisztens, hogy miért int-et használtam, amikor a short is elég lett volna. A help-ben megnézve mindkettő 16 bites volt, teljesen megegyeztek. Múltkor meg a prog.hu-n volt valami kódról szó, ott meg kiderült (számomra), hogy az int mostanában 32 bites.
|
kedd feb. 20, 2007 9:27 |
|
|
T68m
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 12729 Tartózkodási hely: FLF
|
potyo: bár igazad van, de a példád - sajnos - nem jó. A tömb egy elcseszett adatstrúktúra, már a pascalban is kár volt implementálni. Ennek megfelelően a standard pascal nem is tudott mit kezdeni a túlcímzéssel, ezt rábízta az egyes megvalósításokra. (mondjuk nem ez az egyetlen dolog, pl. az integer és real méretét is elfelejtették deklarálni és a string hossza is a levegőben lóg a szabvány szerint, az olyasmiről már nem is beszélve, mint mi a for ciklusváltozó kilépési értéke, esetleg a boolean kifejezéseket ki kell-e értékelni teljesen vagy elég addig, míg egyértelmű lesz a vége...)
Ennek megfelelően már a turbo pascalban ki/be lehetett kapcsolni a futás közben túlcímzés ellenőrzést. Range Check, $R
|
kedd feb. 20, 2007 1:12 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
A C sok mindenre jó, sok mindent megenged, de ugyanez a hátulütője is. A Delphi a Pascal utódaként szigorú szabályokkal rendelkezik, és sok hibát már a kód fordításakor felismer.
Egyszerű példa, hogy egy tömb indexelésénél a C program nem végez ellenőrzést arra vonatkozóan, hogy túlmentél-e az indexhatáron. Kiszámolja az indexhez tartozó memóriacímet, és oda beleírja, amit bele kell írni. Most hogy ezzel valamit felülírtál, amit nem kellett volna, az már a te bajod. Egy ilyen hibát megtalálni nem könnyű. A Delphi program végez ellenőrzést, és kidob egy hibaüzenetet, amennyiben túlmentél a határon. Cserébe a Delphi program valamelyest lassúbb, de ennek inkább rendszerprogramok, drivereknél van jelentősége, portok programozásánál ez nem vészes.
Amúgy a Borland Development Studio 2006-ben már a C fordító is majdnem úgy a kezed alá dolgozik, mint a Delphi, viszont a kezelőfelületet szerintem elcseszték.
|
hétf. feb. 19, 2007 18:57 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
Azt nemtudom, hogy mindenki, de sokan. Én pl .NET és JAVA alól programoztam, tehát egyiksem. De kollegám delphi alatt pikk pakk összedobott egyszerű programokat.
Az eszközkészlet(előre megírt komponensek) és a fejlesztési sebesség miatt. A fejlsztő eszköz a kezed alá dolgozik.
|
hétf. feb. 19, 2007 18:46 |
|
|
tubybb
gyémánt tag
Csatlakozott: vas. feb. 05, 2006 19:53 Hozzászólások: 1170 Tartózkodási hely: Győr
|
Miért könnyebb Delphiben? miért van az hogy mindenki Delphiben programozza a portokat?
|
hétf. feb. 19, 2007 0:20 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
Egyetértek az előttem szólóval. prog.hu nayon hasznos forum és a cikkeik se rosszak.
Delphiben talán könnyebb lenne.
|
vas. feb. 18, 2007 20:21 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Az USB-re pl. innen indulhatsz: http://www.usb.org Van itt egy szép kis pdf fájl USB 2.0 Specification néven, kb. 7MB és 650 oldal. Ezt ha nemis aprólékosan, de nem ért átnézni. Utána nézz szét a http://www.prog.hu-n
|
szomb. feb. 17, 2007 11:29 |
|
|
tubybb
gyémánt tag
Csatlakozott: vas. feb. 05, 2006 19:53 Hozzászólások: 1170 Tartózkodási hely: Győr
|
Én USB portot meg ethernet kártyát szeretnék vezérelni c-ből.
Salvatore! Ezzel kapcsolatban nincs valami ötleted, hogy hol és merre keresgéljek?
|
szomb. feb. 17, 2007 3:08 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Kösz, így már lefordítja. A program viszont hibát dob az indítás után, és leáll. De ez már valszeg a rendszer miatt van.
|
kedd feb. 06, 2007 18:25 |
|
|
MEKK
vas-tag
Csatlakozott: kedd márc. 30, 2004 20:11 Hozzászólások: 9 Tartózkodási hely: Bp.
|
potyo ne az #include "io.h"-t linkeld be hanem #include "io.cpp"-t Ezután már csak LoadIODLL(); és PortOut(888,value); value 0-255 közti érték.
A 0x378-at pedig decimálisan kell megadni. (888).
|
szer. jan. 31, 2007 12:22 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
Nézd meg itt:
http://www.c-plusplus.de/forum/viewforu ... -is-2.html
Ha a német nem erősséged, engedd rá a google translate-t vagy a babelfish-t.
|
hétf. jan. 08, 2007 21:15 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Salvatore Salvataggio írta: www.codexonline.hu Ezt az oldalt én is megtaláltam, át is néztem az anyagot. Valahol a 4-5. szám környékén említi is ezt az oldalt: http://geekhideout.com/iodll.shtml, amit ezen leírástól függetlenül is megtaláltam, le is szedtem onnan a cuccot, beraktam a kódba, de ezzel hálálja meg a próbálkozásomat: Idézet: [Linker Error] Error: Unresolved external 'LoadIODLL()' referenced from C:\ELSO\UNIT1.OBJ
Viszont nembiztos, hogy megértettél, nekem nem magával a párhuzamos port működésével kapcsolatban vannak kérdéseim, hanem azzal, hogy Builder-ből hogyan lehet közvetlenül írni rá, és olvasni róla.
A kódom ennyi lett volna egyenlőre:
Kód: #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "io.h"
#include <windows.h>
//--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { LoadIODLL(); // PortOut(0x378, 55); }
|
hétf. jan. 08, 2007 1:29 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
|
vas. jan. 07, 2007 22:19 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Borland C++ Builder-rel van valakinek tapasztalata a párhuzamos port közvetlen programozásával? Tehát olyasmit akarok, mint amire az ilyen io.dll meg hasonlók szolgálnak. Nézelődtem a neten, de inkább csak Delphi/Visual C++-ra vannak megoldások. Egy apró példaproginak, vagy valami hasonlónak örülnék a legjobban.
|
vas. jan. 07, 2007 21:04 |
|
|
Dester
Moderátor
Csatlakozott: kedd nov. 02, 2004 17:38 Hozzászólások: 5120 Tartózkodási hely: Budapest/Szeged
|
Nekem csak portíró-olvasó komponensem van, ha kell. Freeware, forráskóddal, leírással, tokkal vonóval együtt.
|
hétf. aug. 14, 2006 9:35 |
|
|
Elektroman
arany tag
Csatlakozott: csüt. márc. 23, 2006 20:49 Hozzászólások: 223 Tartózkodási hely: Miskolc
|
Tudom hogy elkésett hozzászólás de meg lehetne erről tudni valamit? SW és HW is érdekel.
Üdv Elektroman
|
csüt. jún. 22, 2006 8:25 |
|
|
vargadanis
vas-tag
Csatlakozott: vas. márc. 26, 2006 14:47 Hozzászólások: 6
|
Kicsit lehet, hogy még késöbb...
Eléggé benne vagyok most a .NET programozásban (c#,c++) és elég jó kis dolgokat lehet benne csinálni^_^ Soros portra készítettem egy drivert, ami egy ledpanelt kezel. ^_^ Elég jól támogatja...
|
vas. márc. 26, 2006 15:28 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
Kicsit lehet hogy későn, de elég jó.
http://lpt.usbfireinfo.com/Developers/D ... .htm#Level One Parallel Port Developer's Kit
|
kedd dec. 13, 2005 9:14 |
|
|
paradoxis
vas-tag
Csatlakozott: kedd nov. 22, 2005 15:18 Hozzászólások: 4
|
Köszi a tippeket.
Dester, ha tudsz linkeket írni nekem ahonnan letölthetem a komponenseket akkor megköszönöm.
Salvatore Salvataggio kössz a linket.
Ha tudtok még ilyeneket akkor írjatok még.
|
kedd nov. 22, 2005 19:11 |
|
|
Salvatore Salvataggio
a fórum lelke
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 8673 Tartózkodási hely: Ahol fikázni könnyű alkotni nehéz!
|
Codexonline www.codexonline.hu/cikkeink.phpt, abban LPT porton keresztül működtettek mosógépet. ott is c vagy delphi volt a nyelv, de inkább delphi.
|
kedd nov. 22, 2005 16:47 |
|
|
Dester
Moderátor
Csatlakozott: kedd nov. 02, 2004 17:38 Hozzászólások: 5120 Tartózkodási hely: Budapest/Szeged
|
Nos, Delphiből nem nehéz. Vannak nagyon jó port olvasó és író komponensek. Én is használtam már ilyet. Onnantól meg a hardver dolga Gondolom legalábbis. Minimális áramkör, hogyha 1-est küld, akkor az első LED villanjon fel, stb... Legalábbis szerintem így a legegyszerűbb. Én már ehhez nem értek, de ha portkezelő komponens kell, abban tudok segíteni.
|
kedd nov. 22, 2005 16:39 |
|
|
paradoxis
vas-tag
Csatlakozott: kedd nov. 22, 2005 15:18 Hozzászólások: 4
|
delphi-ból vagy C-ből portok programozása
Segítséget kérek azoktól akik értenek a Delphi-hez vagy a C-hez.
Probléma:
"""""""""""""""""
Írni szeretnék 1 progit amalyikből soros v. nyomtatóportról tok LED-et(eket) vezérelni úgy, hogy az 1-es led pl. 5 mp-ként felvillan.
extra
"""""""""""""""""
Ha lehet a programból hogy melyik led világítson és milyen időközönként villanjon fel vagy világítson.
előre is köszönöm a segítségeteket.
|
kedd nov. 22, 2005 15:30 |
|
|