View previous topic :: View next topic |
Author |
Message |
Moo
Joined: 13 Jan 2007 Posts: 42
|
Posted: Fri Aug 10, 2007 5:37 pm Post subject: atkal ar dll chakareejos |
|
Takaa dll'i ir lieta kuraa es zinu tikai to kaa izpildiit showmessage funckiju es atkal mekleeju paliidziibu
Kaa lai es nodeklareeju vienu TMemo ieksh dll taa lai vinsh ljautu kodu lasiit peectam caur "speeli"?
Es meegjinaaju sho kodu ielikt ieksh dll:
Code: | Memo1.lines.add(' Lūdzu ielādējiet 2. nodaļu'); |
bet
Quote: | [Pascal Error] Project1.dpr(7): E2003 Undeclared identifier: 'Memo1'
[Pascal Error] Project1.dpr(7): E2066 Missing operator or semicolon |
Ja vajag, varu paraadiit pilno dll kodu, bet tur nekaa gandriiz nav
Paldies jau ieprieksh.
P.S. piedoshanu, bet man nezinkapeec pazuda atkal garumziimes _________________ Moo
Last edited by Moo on Sat Aug 11, 2007 12:50 pm; edited 1 time in total |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 10, 2007 6:22 pm Post subject: |
|
Kāpēc tev vajag kautkādu DLL'i, ja pilnīgi pietiek ar teksta failu (.txt).
Nevajag lietot dll'us, kas paredzēti izpildāmam kodam, priekš prastu teksta rindu glabāšanai.
A par tavu kļūdu - skaidri pateikts: Memo1 nav definēts. Un man jau liekās, ka VCL komponentus kā TMemo nav vērts eksportēt no DLL faila (it īpaši, ja pats nemāki un nesaproti to). Tikai lielākā čakarā iedzīvosies. Eksportē parastas funkcijas, kuras atgriež stringus / masīvus no stringiem. Jeb vēl labāk - netaisi nekādus dll failus, bet gan prastus txt failus, kurus lasi un apstrādā. |
|
Back to top |
|
|
Moo
Joined: 13 Jan 2007 Posts: 42
|
Posted: Fri Aug 10, 2007 6:29 pm Post subject: |
|
Doh...nu labi.
Bet par kljuudu es sapratu ka memo1 nav defineets, bet jautaajums bija kaa vinju nodefineet...
Kapeec man vajag dll? Gribu iemaaciities kaartiigi kaa vinjus cept un peectam atveert. _________________ Moo |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 10, 2007 6:36 pm Post subject: |
|
definēt mainīgos var ar "var" keywordu.
Šādi piemēram nodefinē mainīgo i, kurš ir vesels skaitlis (Integer):
|
|
Back to top |
|
|
Moo
Joined: 13 Jan 2007 Posts: 42
|
Posted: Fri Aug 10, 2007 6:58 pm Post subject: |
|
Nu, labi, tad jaameegjina ar txt. Pirms kaadiem 5meen es biju ar vinjiem njeemies un tgd ar nedaudz. Bet kaa var ielaadeet noteiktu liiniju no txt faila? Piem 4. liiniju ielaadeet un paraadiit kaa Label1.Caption? _________________ Moo |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 10, 2007 8:39 pm Post subject: |
|
Tik cik atceros no Delphi, tad tur bija tāds TStringList klase, kas sevī satur masīvu no stringiem. Tam bija metode LoadFromFile.
Iespējams, ka šāds kods darbosies:
Code: | s := TStringList.Create;
s.LoadFromFile("fails.txt");
// 4. rindiņa = s[3] |
Var, protams, nelasīt visu failu, ja to nevajag, bet lasīt rindiņu pa rindiņai - ar ReadLn procedūru. |
|
Back to top |
|
|
Vecis
Joined: 01 Jan 2007 Posts: 144
|
Posted: Fri Aug 10, 2007 8:50 pm Post subject: |
|
Vēl viens ieteikums - lieto .ini failus. Pats nesen mēģināju un noderēja, viss ir diezgan vienkārši. |
|
Back to top |
|
|
Moo
Joined: 13 Jan 2007 Posts: 42
|
Posted: Fri Aug 10, 2007 9:47 pm Post subject: |
|
Ar tiem txt failiem. Es atradu alternatīvu. Lai arii tad txt failu daudzums palielinaasies, nav baigi jaacakareejas.
Code: |
Memo1.lines.LoadFromFile (Path.Caption+'\2nodala\2nodalja.txt'); |
BET es nevaru izdomaat lai teiksim tas pats 2nodalja.txt naakoshreiz kad ielaadeesies nevis aizstaas visu ieprieksheejo Memo1 tekstu, bet gan pievienosies klaat. _________________ Moo |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 10, 2007 10:10 pm Post subject: |
|
TMemo klases Lines members ir jau tas pats TStringList, tāpēc jau tur ir tas LoadFromFile.
Paskaties kādas vēl metodes ir TStringList. Gan jau ka tam ir kāda iespēja pievienot visas rindas klāt no cita TStringList. Atliek izveidot jaunu stringlistu, ielādēt tajā faila saturu, un pievienot to tavam Lines memberam.
Un te nemaz nevajag domāt, vajag lasīt Reference Manuāli (F1). |
|
Back to top |
|
|
|