Jump to content
GSForum - Segélyvonal

Delphi kezdõknek


Cheater

Recommended Posts

Calyd

Hát, mondjuk, hogy egy részében. De ha kérdésed van, akkor nyugodtan írd! Ha nem én, valaki biztosan tud segíteni. :)Itt is utánanézhetsz dolgoknak.

Link to comment
Share on other sites

zippyo

IPB kép

 

Itt van amirol beszeltem MS Flight Sim MDLX allomany. Otthonos itt valaki ebben a temaban? Mielott elkezdek hulyesegeket kerdezni jo tudni hogy valaki legalabb tudja hogy baromsag vagy nem.

Nem sok info van meg rola(foleg magyarul), de eleg arra hogy kiolvassunk belole 3d halo adatot(ahogy a Kepen latszik)

 

zip

Link to comment
Share on other sites

Calyd

Klasszul néz ki, de én sajna passzoltam. :)

Link to comment
Share on other sites

zippyo

Szamitottam ra hogy nem lesz sok jelentkezo. Csak azert dobtam be hogy hataha valaki joiranyba igazitott volna, hogy hol lehet ilyen emberformaju orultekkel kobakot koccintani.

 

zip

Link to comment
Share on other sites

Calyd

Ha esetleg konkrét kérdéseid vannak, abban talán (!) tudok segíteni. De fentebb mutattam egy linket, ott nagyon sok hasznos dologra lehet bukkanni.

Link to comment
Share on other sites

zippyo

Koszi Calyd!

Bongeszem mar egy par napja.

 

zip

Link to comment
Share on other sites

  • 2 weeks later...
DonTomika

@jani0624:

Az LPT port írásához az IO.dll-t tudom ajánlani, a http://www.geekhideout.com/iodll.shtml címrõl le tudod tölteni (az oldal közepén van a Downloads-nál, az io.dll kell neked). Ezt másold be a programod mappájába, vagy a Windows könyvtárba. Ezután menj el a Delphi telepítési mappáján belüli lib könyvtárba (általában: C:\Program Files\Borland\Delphi(verzió)\Lib), majd hozz létre egy iodll.pas nevû fájlt, és másold bele ezt:

unit iodll;

interface

uses Windows;

procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
procedure PortWordOut(Port : Word; Data : Word); stdcall; external 'io.dll';
procedure PortDWordOut(Port : Word; Data : DWord); stdcall; external 'io.dll';
function PortIn(Port : Word) : Byte; stdcall; external 'io.dll';
function PortWordIn(Port : Word) : Word; stdcall; external 'io.dll';
function PortDWordIn(Port : Word) : DWord; stdcall; external 'io.dll';
procedure SetPortBit(Port : Word; Bit : Byte); stdcall; external 'io.dll';
procedure ClrPortBit(Port : Word; Bit : Byte); stdcall; external 'io.dll';
procedure NotPortBit(Port : Word; Bit : Byte); stdcall; external 'io.dll';
function GetPortBit(Port : Word; Bit : Byte) : WordBool; stdcall; external 'io.dll';
function RightPortShift(Port : Word; Val : WordBool) : WordBool; stdcall; external 'io.dll';
function LeftPortShift(Port : Word; Val : WordBool) : WordBool;  stdcall; external 'io.dll';
function IsDriverInstalled : Boolean; stdcall; external 'io.dll';

implementation

end.

Innentõl bármely programba beírhatod fentre a unitok közé, hogy "iodll", és a fenti függvényekkel kezelheted a különféle portokat. Példa:

 

program tesztprogi;

uses iodll;

{$APPTYPE CONSOLE}

begin
  if not IsDriverInstalled Then
  begin
    WriteLn('Van valami baj az iodll-el');
    ReadLn;
    Exit;
  end;
  WriteLn('1-es bit be (enter).');
  ReadLn;
  SetPortBit($378, 1);
  WriteLn('1-es bit ki (enter).');
  ReadLn;
  ClrPortBit($378, 1);
end.

Ellenõrzi, hogy be van-e töltve az io.dll, majd kirak egyet valamelyik tûre, vár egy enterre, majd kiír ugyan ide 0-t. Az, hogy pontosan melyik tût melyik bit befolyásolja, nem tudom, de nyugodtan próbáld végig a $378-as port összes bitjét. Ja, és még valami olyasmit is olvastam, hogy néhány tû negálva lehet, azaz megeshet, hogy ha 1-et írsz ki, 0 jelenik meg és fordítva. Ja, és elsõ indításkor valami hibaüzenetet fog adni az io.dll, de utána ez megszûnik.

Link to comment
Share on other sites

feher.balazs

Hello!

 

Nos nekem több kérdésem is lenne.... Még kezdõ vagyok, bár azért annyira nem, de tény hogy sokszor elfog az érzés, hogy nem tudom mit csináljak, nem igazán ismerem a komponensek használatát.

Elsõként olyan kérdésem van, hogy hogy lehet mondjuk egy txt állományból (amelyben például szóközzel vannak elválasztva szavak) behívni egy adatbázisba...., vagy inkább egy egyszerûbb, behívni egy stringgrid objektumba. Elsõsorban olyasmi programot szeretnék készíteni, amiben fõként stringgrid objektumonkeresztül bevitt adatokkal tudunk számolni, illetve egy ilyen táblázatos formába tudunk behívni már elmentett adatokat. A mentés az már megy, nem oylan vészes, de a megynitás komolyabb probléma...

Továbbá még kíváûncsi lennék hogy mit is lehet kezdeni a dinamikus tömbökkel, ha jól sejtem futásidõben lehet meghatározni a méretüket, és aztán feltölteni õket adatokkal?

 

Ja és ha tudtok valami neten elérhetõ és jól megérthetõ szakirodalmat azt megköszönném:) Nem mondom hogy sajnos, de nekem most "csak" delphi 7 mesteri szinten köteteim vannak meg, de ez még elég magas szintû, nem sok trükköt tudtam belõle ellesni.

Elõre is köszi a segítséget!

Link to comment
Share on other sites

TheSaurus

Azt nagyjából le tudom írni, hogyan olvastathatsz be szavakat StringGridbe, feltéve, hogy minden szónak újabb cellába kell kerülnie. (Feltételezem, hogy a szöveg nem holmi regény, hanem valami adattáblázat, nagyjából azonos szószámmal soronként. )

 

A legbrutálisabb módszer: felraksz az űrlapra (Form) egy ListBox-ot, abba induláskor a LoadFromFile metódussal betöltöd a .txt fájl tartalmát, így a sorokra bontás már kész. A ListBoxnak futásidőben nem is kell látszania.

 

Elindítasz egy ciklust for i:=0 to listbox1.items.count-1. Kiolvasod a listbox i. sorát egy változóba: s:=listbox1.items.strings (lehet, hogy nem pontos a szintaxis).

egy újabb ciklussal kiolvastatod a karaktereket egy további változóba szóközig:

j:=0; s1:='';k:=0;

while s[j]<>' ' do begin

s1:=s1+s[j];

j:=j+1;

end;

StringGrid1.cells[i,k]:=s1;

k:=k+1;

 

Valami ilyesmi. Lehet, hogy a StringGrid1.cells[i,k]-ban fordítva van az i (sor) meg a k (oszlop), ezt sose tudom. Ez se teljesen pontos, de el lehet belőle indulni. Ha nem szóközzel vannak elválasztva, akkor persze azt kell beírni aposztrófok közé.

Link to comment
Share on other sites

feher.balazs

Köszi szépen, azt hiszem el tudok indulni ezen a nyomon... és esetleg olyan kis egyszerű dolog, mint pl egy stringgridben egy adott cella színének a megváltoztatása lehetséges? Már próbálkoztam,de mindig csak az egész stringgridet sikerül módosítanom. Egyébként számok feltöltéséről volna szó, aztán amit majd tovább szeretnék dolgozni egy adatbázisban, ahol pedig számolnék vele, konkrét számításokról lenne szó. Nem tudom hogy esetleg lehet-e konkrétan adatbázisba beolvasni közvetlenül? ondjuk ez a része még nagyon nem megy...

Link to comment
Share on other sites

DonTomika

A StringGrid celláinak színét külön-külön nem tudod változtatni, csak együtt. Ha mégis egyesével kellene a színeket módosítanod, akkor a DarwGrid-et kellene használnod, ami ott van a StringGrid mellett. Ott te rajzolhatod meg a cellák tartalmát, az OnDrawCell eseményben.

Link to comment
Share on other sites

  • 3 weeks later...
kag8655

Sziasztok lenne egy kérdésem delphi 3-at használok.

A kérdésem az hogy van egy 800 x 600 -as keret nélküli formom hogy tudám manipulálni a monitor felbontását úgy hogy amíg a program fut átálljon erre a felbontásra.

Elõre is köszi

 

Link to comment
Share on other sites

Calyd
Link - Ezt most nem tudtam kipróbálni, remélem mûködik. Értelmesnek tûnik.
Link to comment
Share on other sites

kag8655

Köszi szépen ez mûködik.

Link to comment
Share on other sites

Calyd

Mert volna nem mûködni! :)

Link to comment
Share on other sites

Csuma7

Sziasztok!

valaki tudna nekem küldeni egy kész delphi feladatot,mert amit nagy nehezen csináltam azt visszadobta a tánár :mérges: .

Legkésõbb holnap le kell adnom neki az új feladatot. :Sír:

Nem kell túl bonyolult,de viszont adatbázis kezelésnek kell lennie benne!

Ha vkinek van vmilyen felesleges progija,azt megkösszönném!

Ha nem adom be akkor nem lesz meg a félévem :(

csuma7@freemail.hu

 

Elõre is THX

 

 

Link to comment
Share on other sites

Calyd

Elõször is vagy de, vagy viszont. Másodszor pedig kész feladatot nem adunk meg. Viszont szívesen segítünk, ha konkrét kérdésed van. Ha tényleg nem kell bonyolult, akkor az egy délután alatt megvan doksival együtt! ;)

Link to comment
Share on other sites

  • 9 months later...
blackdragon

Sziasztok!

Problémába ütköztem Delphi-zgetés közben: hogyan tudnék ListBox komponensbe két oszlopnyi információt kiírni??

A következő részlet működne:

 
ListBox1.Items.Add('elso'^I'masodik');

Működik is, de nekem változókban vannak a stringek, amiket meg akarok jeleniteni, azt viszont már nem engedi. A hibaüzenet: Pointer type required. De ki beszél itt most pointerrol? Valaki megmagyarázná a jelenséget? Előre is köszönöm.

Link to comment
Share on other sites

  • 2 weeks later...
DonTomika

Ha jól sejtem, te így írtad be a változókat:

 

var elso, masodik: string;
begin
  ListBox1.Items.Add(elso^Imasodik);
end;

Ehelyett a helyes megoldás:

 

var elso, masodik: string;
begin
  ListBox1.Items.Add(elso + ^I + masodik);
end;

A hibát az okozza, hogy ha egy változó neve után "^" karaktert teszel, akkor mutatóként próbálja értelmezni, és megpróbálja követni azt. :)

Link to comment
Share on other sites

  • 1 month later...
Ger@

Hello mindenki

 

Nemrég kezdtem a Delphit, és eddig végigolvasva a témát nem találtam választ a kérdéseimre, úgyhogy rögtön le is írnám õket:

 

1. A label1.caption.LoadFromFile('fájl.txt'); miért nem mûködik? memo-ba sikerül így behozni szöveget fájlból, viszont label-be nem megy :(

 

2. Ha egy txt fájlban van 10 szó szóközzel elválasztva, akkor hogyan lehet a szavakat külön-külön beilleszteni 10 radiobutton-ba? Mert a LoadFromFile az egész fájlt használja, nem bírtam vele a szavakat külön kiszedni a szövegbõl.

 

A segítséget elõre is köszönöm.

Link to comment
Share on other sites

pumi2

Sziasztok!Volne problémám Delphiben! 1,Hol lehet azt megadni a ListBoxnak hogy hány eleme lehessen

2,Van egy listboxom egy editem s egy gombom!Edittel bele birok írni a listboxba de azt hogy lehet megcsinálni hogy rákattintok a listboxban lévõ egyik elemre s editbe kiírja?Mert azt megbirtam oldani hogy bele írja csak az abaj vele hogy az összes elemet beleírja az editbe,nekm meg úgy kéne hogy csak azt írja bele amire épp rákattintok a listboxon belül.VAlaki aki tud légyszi segítsen fontos lenne!!Elõre is köszi Várom a megoldásokat :)

Link to comment
Share on other sites

blackdragon

 
procedure TForm1.Button1Click(Sender: TObject);
begin
   ListBox1.Items.Add(Edit1.Text);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var k:integer;
begin
   k:=ListBox1.ItemIndex;
   Edit1.Text:=ListBox1.Items[k];
end;

 

Az Items.Add(s:string) a ListBox utolso poziciójára illeszt egy új elemet, az ItemIndex tulajdonság a jelenleg bejelolt pozíció sorszámát aja meg, az Items pedig az i-edik elemre utal.

További jó munkát,

Üdv, BD

 

@ Ger@

 

1. Azért nem lehet megoldani az általad felvettt problémát úgy, ahogy Te gondolod, mert a Labl1.Caption-nak már nincs több tulajdonsága, így LoadFromFile tulajdonsága sem. Nem felelne meg ha EditBox-ból olvasnád be a forrásfájl nevét?

2. A 10 szót egyenként is be lehet olvasni: TextFile-ként nyisd meg a forrást, majd a következõ módon olvashatod be a szavakat:

   {változók bejelentése}
   AssignFile(fin, 'szavak.txt'); Reset(fin); {remélem jól emlékszem még}
   While NOT(EOF(fin)) Do
      Begin
         ReadLn(fin,szo);
         inc(dim);
         a[dim]:=szo; 
      End;
    {felételeztem, hogy a szavak külön sorokban vannak, minden szót egy tömbben tárolok, amit késõbb majd fel lehet dolgozni}

Link to comment
Share on other sites

Ger@
@ Ger@

 

1. Azért nem lehet megoldani az általad felvettt problémát úgy, ahogy Te gondolod, mert a Labl1.Caption-nak már nincs több tulajdonsága, így LoadFromFile tulajdonsága sem. Nem felelne meg ha EditBox-ból olvasnád be a forrásfájl nevét?

2. A 10 szót egyenként is be lehet olvasni: TextFile-ként nyisd meg a forrást, majd a következõ módon olvashatod be a szavakat:

   {változók bejelentése}
   AssignFile(fin, 'szavak.txt'); Reset(fin); {remélem jól emlékszem még}
   While NOT(EOF(fin)) Do
      Begin
         ReadLn(fin,szo);
         inc(dim);
         a[dim]:=szo; 
      End;
    {felételeztem, hogy a szavak külön sorokban vannak, minden szót egy tömbben tárolok, amit késõbb majd fel lehet dolgozni}

 

Köszönöm a segítséget, esszem ez a soronként beolvasós dolog az amit kerestem. Ma már kicsit késõ van, úgyhogy majd holnap próbálom ki ;)

Link to comment
Share on other sites

pumi2

Köszi szépen mindkettõtöknek! :) Végül ismegoldottam a 10 elemes problémát is!!! Egyszerûen azt montam neki hogyha beviszi a 10 elemet akkor utána a gonb enabled legyen.... :D:D:D Ezáltal nem lehet új elemet hoizzáadni :D de viszont amit elõ megoldást írtatok

azon lehidaltam hogy mennyire könnyû volt vissza iratni editbe egy változóval... :S S én hülye meg nem jöttem rá!Köszi mindenkinek mégegyszer

Link to comment
Share on other sites

greenstone

Sziasztok!

 

Szerintetek

KUZMINA JEKATYERINA DR. TAMÁS PÉTER TÓTH BERTALAN

Programozzunk Delphi 7 rendszerben! címû könyvébe érdemes belekezdenem, ha a program felépítését, és a struktúrált tervezést nagyjából tudom, de delphit még soha nem tanultam. Nem lesz túl magas szintû? Elõre is köszi a választ.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...