Új hozzászólás Aktív témák
-
lao ce
aktív tag
en ezt abszolut nem hasznalom, de ha jol emlekszem van olyan hogy applyupdates az adatbazisra (vagy a queryre is?) es akkor hivodik meg az ami az updatesqlben van (tranzakciostul? nem tudom). azt hiszem az egyik peldaprogram a delphi examples-ek kozott errol szol.
nicht kompot
-
CsendPenge
őstag
Valamelyik formnál, vagy a form unit-ban csinálj egy globális változót, plussz uses unit Ez utóbbi nélkül nem fog menni.
P.S.: véletlenül se a gombnál deklaráld a változód, mert akkor a gomb eseményére nézve lokális lesz, vagyis addig létezik a változó, amíg az esemény ''létezik''.
P.S.2: ha nem voltam eléggé értehtő, szólj és kifejtem magamatRemember the Linux, that's like a wigwam: no Windows, no Gates, just Apache inside. Two minutes of thinking can save hours of unnecessary work.
-
lao ce
aktív tag
ha az eredmeny megjelenik az elso formon is vizualis formaban (mondjuk label-en) akkor valaszthatod azt is, hogy kozvetlenul elered.
miutan csendpenge tanacsa szerint a masodik form forrasanak a uses reszebe beirod az elso unitodat,
{
implementation
uses
untElso;
}
a masodik unitbol el tudod erni az elso unit formjan levo objektumok erteket.
tehat untElso.frmElso.lblEredmeny.Caption
es azt hogy untElso el lehet hagyni ha akarod.
csak azert irom, mert sokszor csak ki kell irni valamit a kepernyore az ilyen helyzetekben es szerintem ilyenkor felesleges valtozot hasznalni a 'masodik formokon', aztan hatha ez a helyzet nalad is veletlenul.nicht kompot
-
-
btotyi
tag
Következő kérdés : Milyen Delphi és milyen Query ?
Most próbáltam ki D7 + IBX-el és hibátlanul megy.
Itt a form ami csinálja
object Form1: TForm1
Left = 268
Top = 666
Width = 502
Height = 356
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 8
Top = 8
Width = 385
Height = 289
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
object BitBtn1: TBitBtn
Left = 408
Top = 16
Width = 75
Height = 25
Caption = 'BitBtn1'
TabOrder = 1
OnClick = BitBtn1Click
end
object IBDatabase1: TIBDatabase
Connected = True
DatabaseName = 'C:\DB\adr.gdb'
Params.Strings = (
'user_name=adruser'
'password=adrpasswd'
'lc_ctype=WIN1250')
LoginPrompt = False
Left = 16
Top = 16
end
object IBTransaction1: TIBTransaction
Active = True
DefaultDatabase = IBDatabase1
Left = 16
Top = 48
end
object IBQuery1: TIBQuery
Database = IBDatabase1
Transaction = IBTransaction1
CachedUpdates = True
SQL.Strings = (
'select * from FELHASZNALOK')
UpdateObject = IBUpdateSQL1
Left = 48
Top = 16
object IBQuery1FELH_AZON: TIntegerField
FieldName = 'FELH_AZON'
Origin = '''FELHASZNALOK''.''FELH_AZON'''
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
Required = True
end
object IBQuery1NEV: TIBStringField
FieldName = 'NEV'
Origin = '''FELHASZNALOK''.''NEV'''
Required = True
Size = 30
end
object IBQuery1USERNEV: TIBStringField
FieldName = 'USERNEV'
Origin = '''FELHASZNALOK''.''USERNEV'''
Required = True
Size = 12
end
object IBQuery1JOG_KTGH: TIBStringField
FieldName = 'JOG_KTGH'
Origin = '''FELHASZNALOK''.''JOG_KTGH'''
Size = 3500
end
object IBQuery1STATUS: TIBStringField
FieldName = 'STATUS'
Origin = '''FELHASZNALOK''.''STATUS'''
FixedChar = True
Size = 1
end
end
object IBUpdateSQL1: TIBUpdateSQL
RefreshSQL.Strings = (
'Select '
' FELH_AZON,'
' NEV,'
' USERNEV,'
' JOG_KTGH,'
' STATUS'
'from FELHASZNALOK '
'where'
' FELH_AZON = : FELH_AZON')
ModifySQL.Strings = (
'update FELHASZNALOK'
'set'
' FELH_AZON = : FELH_AZON,'
' JOG_KTGH = : JOG_KTGH,'
' NEV = :NEV,'
' STATUS = : STATUS,'
' USERNEV = : USERNEV'
'where'
' FELH_AZON = : OLD_FELH_AZON')
InsertSQL.Strings = (
'insert into FELHASZNALOK'
' (FELH_AZON, JOG_KTGH, NEV, STATUS, USERNEV)'
'values'
' (: FELH_AZON, : JOG_KTGH, :NEV, :STATUS, : USERNEV)')
DeleteSQL.Strings = (
'delete from FELHASZNALOK'
'where'
' FELH_AZON = : OLD_FELH_AZON')
Left = 80
Top = 16
end
object DataSource1: TDataSource
DataSet = IBQuery1
Left = 48
Top = 48
end
end
A kettőspont utáni szóközöket vedd ki mert a PH motor emotikonoknak látja az SQL paraméterek. ( Hiányzik a [CODE] tag a PH-ból ?)
[Szerkesztve] -
-
tusi74
őstag
Azóta van még egy nyűgöm, ami viszont rejtély.
Mondjuk módosítani szeretnék egy rekordot, egy táblában egy gombnyomásra,
vagy beszúrni.
Megcsinálok mindent, teljesen ugyanúgy, mint egy másik táblánál, direkt
Copy-Paste-zok, hogy ami eddig ment, az ezután is menjen.
Erre, most meg mindent úgy csinál, ha megynyomom a beszúr gombot,
akkor beszúrja a Combobox-ok 0. elemét, nem azt, ami aktuálisan be van jeölve, majd megnyomom mégegyszer, akkor beszúrja jól.
Hasonlóan: ha megnyomom a módosít gombot, akkor nem csinál semmit,
ha megnyomom mégegyszer, akkor módosítja.
Na kezdtem megörülni, hárha 2x kell megnyomni a törlés gombot, hogy menjen.
De sajna az egyáltalán nem megy.
Hát itt van az, hogy megáll az ész, és körbenéz.
[Szerkesztve] -
lao ce
aktív tag
tusi
probalj lerakni break point-okat a gombnyomasok kodjara es f7-tel lepegetni...
hasznald a ctrl + f7 -et hogy megnezhesd az erteket az objektumaid parametereinek (combo itemindex pl)
ne haragudj ha te ezt mar ezer eve csinalod es tudod, nem lekicsinylesbol irtam, hanem hatha nem tudod ezeket es hasznosak hibakeresesnel.nicht kompot
-
KovacsUr
addikt
Mi az, hogy ''gombnyomások kódjaira''?
Bocsánat, nem olvastam vissza, de nagyot nem tévedhetek: azokra az eseménykezelőkre (jó eséllyel a formjaid metódusai), amelyek a gombnyomásokat kezelik. Amikor rákattintasz duplán az űrlapszerkesztőben egy gombra, a gomb kattintásakor lefutó eseménykezelő kódjába kerülsz.
Most?So it goes… We stand alone by standing stones and turn them into circles.
-
lao ce
aktív tag
ne haragudj a 'gombnyomas kodja' hulye megfogalmazasert. oszinten en kicsit zavarban vagyok neha hogy most magyart vagy angolt hasznaljak. az 'en idomben' meg angol nevei voltak a dolgoknak... no mindegy KovacsUr persze jol mondta mirol van szo, onClick event program sorok.
D + Ora az nyami, tudok segiteni ugy erzem mindkettoben. csak ird meg hogy milyen adatbazis elerest hasznalsz odbc, ado, esetleg az allround-os doa-t? azt is hogy szabad kezed van oracle-ben, barmit hasznalhatsz (proc, view, trig. stb stb) ? az is erdekes hogy mihez ertesz pl ha sql megy akkor pl/sql is megy, azaz repulnek a package-ek az oracleben a delphi csak megmutogatja a vegeredmenyt?
(es kerlek nekem ne koszonj semmit... nem is ertem... semmit sem csinaltam. (ez a tema lezarva))nicht kompot
-
lao ce
aktív tag
azert a bde mar nem valami tamogatott es javasolt dolog, de gondolom a tanarbacsi azt ismeri. legalabb ado-ig illene felfejlodnie es akkor csak ot evvel lenne lemaradva.
a dbgrid stb hasznalatanak van ertelme sok helyen, de en ugy erzem foleg arra jo ha meg kell mutatni egy recordot. editalasra valoban a 'sima' komponensek rugalmasabbak.
nem tudom miert nem torol recordot. en a helyedben nem vacakolnek sokat azzal hogy hogyan lehet azt kijavitani, feldobnek egy altalanos celu query-t a datamodule-ba amit csak modositasra hasznalok (insert update delete), beallitanam az adatbazis elerest, aztan valami ilyesmi:
procedure genQueryRunDML (aSQL : string);
begin
// data mod language futtatas
qryGenDML.Close; // biztos ami biztos
qryGenDML.SQL.Clear;
qryGenDML.SQL.Add ( aSQL );
qryGenDML.ExecSQL;
// esetleg commit ha kell
end;
procedure genDeleteRecord ( aTableName, aWhereClause : string );
var aSQL : string;
begin
// osszeallit egy delete sql stringet
aSQL := ' delete from ' + aTableName + ' where ' + aWhereClause;
// itt a altalanosan megfogalmazott rakerdezes helye: biztos a torlesben?
genQueryRunDML (aSQL);
end;
proc EnGombomClick...
genDeleteRecord ( 'KedvencTablam', ' MezoID = ' + ValtozoID );
kesz, mert ennek mennie kell ha fene fenet eszik akkor is. ennel persze lehet szebben es jobban csinalni ( pl ha minden ID mezo neve kotelezoen a tabla neve + ID akkor csinosabbra lehet irni , hibakezeles -ha nem sikeredett a torles, stb ) , de ebbol is talan kaphatsz otletet.nicht kompot
-
lao ce
aktív tag
-tusi, ha break point-ot raksz ezekre a sorokra, akkor a Combox1.Text -nek es az itemindexnek mi az erteke a sor vegrehajtasa elott?
-tegyel le egy gombot a formra es messagedlg-vel irasd ki az erteket a combo1.textnek. mielott beszursz irasd ki az erteket. jo vagy rossz?
-tegyel breakpointot a gombod programjanak eslo sorara ami a beszurast csinalja es kovesd vegig (f7 vagy f8), nem hivodik-e meg az insert ketszer veletlenul
a break pointot irtam mar neked, mikor ez a problemat eloszor emltetted. azt javaslom probald megtanulni hasznalni, mert e nelkul keptelenseg debuggolni hatekonyan. olyan nincs hogy ketszer ketfele ertekkel hajtodik vegre valami ugy hogy semmi sem valtoztatja meg az ertekeket kozben, szoval valami ossze van kuszalva nalad. ezt a fajta problemat csak ugy 'fejben', bamulva a sorokat nincs sok ertelme megprobalni megtalalni.
[Szerkesztve]nicht kompot
-
tusi74
őstag
Úgy általában jellemző a progira, hogy közvetlenül az indulás után
másképp viselkedik, mint később.
Pl. írok egy eseményt combobox1.Change-re. Ez az indulás után nem működik.
aztán újabb elemet állítok be a Comboboxon, akkor meg tökéletes. Olyan, mintha az elején még nem élne az adatátvitel.
Erre valakinek ötlete? -
-
CsendPenge
őstag
A FormCreate az adott form konstruktorához kötődik, a FormShow pedig a megjelenítéshez, vagyis ahogy a help írja, amikor a form visible tulajdonság értéke igazra állítódik. Utóbbi nem összetévesztendő az OnActivate eseménnyel.
Vigyázz a FormCreate-el, én soxor szívtam vele, mert van, hogy olyan komponensre hivatkoztam, ami még nem jött létre. (legalábbis azt hiszem, hogy ezért kaptam az AV-ket, meg egyéb anyázást a delphitől )Remember the Linux, that's like a wigwam: no Windows, no Gates, just Apache inside. Two minutes of thinking can save hours of unnecessary work.
-
lao ce
aktív tag
1) elsore kikapcsolnam az adatbazis konnekciot, akkor tok uresnek kell lenniuk a dolgoknak. de hogy ezt meg lehet-e tenni tervezestol fugg, ha nem igy lett felepitve lehet hogy egyszerubb a leirason valtoztatni mint a programon. 'mikor belepsz a programba a 'startup plus' kenyelmi szolgaltatas rogton az elso rekordot allitja be a kepernyon', ez az idezetem copyrightos
2) ugy hangzik hogy valami valtozot nem reszetelsz a kereses elott, esetleg egy rossz if statement atugorja a kereses meghivasat. debug, debug, debug.nicht kompot
-
Alan
aktív tag
A debugolás nem vészes, hamar ráérzel és utána már nem is érted, mi volt előtte a gond.
Egy ilyen ciklusnál az i változását akkor látod, ha az ''i := i + 1;'' sorra teszed a töréspontot. Itt megáll a programod, a View menü Debug Windows almenüjéből bekapcsolod a Local Variables ablakot és abban máris kiírja az i értékét. Vagy, még jobb, ha ilyenkor, tehát megállított állapotban a programkódban az i fölé viszed az egered, kis sárga súgóban kiírja az i értékét. F8-cal és F7-tel tudod lépegetve végrehajtani a kódot, az F8 egyben végrehajt minden sort (vagyis pl. a metódushívásokat egyben ''lenyomja''), az F7 belelép mindenbe, akár Delphi VCL programkódjába is, tehát ez alaposabb, eleinte ne használd, mert megzavar. Szóval, ha a beállított sorodon megnyomod az F8-at, eggyel lejjebb lép a Delphi ( az ''end'' sorra), és az i kiírt értéke eggyel megnő.
Az egész akkor működik szépen, ha a programodhoz fordítottál debug infót (Project -> Options -> Compiler, ott a Debug information, Local symbols, Reference info, Use Debug DCUs lehetőségeket pipáld mind ki, utána Project -> Build).
Na?
[Szerkesztve] -
tusi74
őstag
Ezt még én írtam régebben:
''Szinte minden megy benne, csak még azt csinálja, hogy betöltéskor betölti az 1. kódú dolgozót, az első sorszámú tantárgyfelosztást stb.
És akkor most eldicsekszem, megoldottam teljesen egyedül!!!, saját kútfőből:
Már volt egy gomb, a formon, hogy új művelet, ami azt tudja, hogy rákattintva
a form alapállapotba hozható, azaz minden mező kitakarítódik. Na mármost ezt az eljárást mögé másoltam a formshow-ban megírt frissítő eljárás mögé, és láss csodát frissül is meg tiszta is. Pontosan úgy működik, ahogy szeretném. -
lao ce
aktív tag
hat, ha eljutottal akkor miert nem azt mondod mi a baj
a buPrintClick a click eventje a gombodnak
ez meghivja a PrintGrid procot
a sok magyarazat helyett azt mondom, hogy a type-ot a type-ok utan ird, a var-t a var-ok utan. de szerintem vedes elott nezz utana a delphi unit felepitesenek, hatha rakerdeznek aztan illik tudni nagyjabol.nicht kompot
-
lao ce
aktív tag
osszeolloztam neked egy unitombol dolgokat
unit Valami;
interface
uses
Windows, ... ;
// ez a delphi dolga, akkor kell babralni ha be kell tenni
// pl a math unitot kezzel mert akarsz hasznalni egy fuggvenyt;
// ez a resz lathato masik formokrol is egesz az implementation szoig
// sajat global procedures, functions amiket speciel en mindig global nevu
// elkulonitett unit(ok)ban tartok, de egye fene most legyen itt egy par:
function GetSystemPath(Folder: Integer): string;
procedure MoveForm(Button : TMouseButton; aForm : TForm);
// ez a formod
type
Tfrm = class(TForm)
...
// innen neha ki kell torolni egy-egy eventet ha a delphi mar elvesziti
// a fonalat hogy mi a fenet is akar a programozo, de joreszt sajat maga;
// elintez mindent;
procedure Button1Click(Sender: TObject);
...
private
{ Private declarations }
// ide lehet beirni sajat funkciokat amik a formra vonatkoznak
// a kozvetlen elonye ezeknek a helyeknek (priv and publ) annyi,
// hogy nem kell leirni az itt deklaralt funkciodon belul hogy
// formneve.labelneve.caption hanem eleg a labelneve.caption.
public
{ Public declarations }
// ez a masik hely, ezeket a dolgokat masik formokrol is meg lehet hivni
end;
const
alma = 'asd';
// ez a formod hehe... 'megtestesulese' es egy sajat globalis valtozo
var
frm : Tfrm;
bela : string;
implementation
// ez a te dogod, a formok kereszthivatkozasai;
uses unitMain, unitDM... ;
// ez a type egy sajat tajpra pelda, lehet tobb is egymas alatt
TEditModes = (
emInsert,
emUpdate,
emDelete,
emView
);
const
korte = 'qwe';
// ezek a unitra vonatkozo sajat valtozok, minden procbol elerhetoek;
var
b : integer;
{$R *.dfm}
// es itt elkezdodik a programod;
nincs idom atnezni, lehet hogy nem tokeletes, lehet javitani.nicht kompot
-
lao ce
aktív tag
egyebkent mar akartam irni hogy nagyon jol csinalod amit csinalsz. oszinten mondom, le a kalappal, buszke lehetsz magadra hogy ennyire hatarozottan vegigverekszed magad ezeken a dolgokon.
sajnalom hogy hosszu lett a hozzaszolasom, de ne becsuld le magad annyira, meghogy par ora... en oda illesztenem be a type-ot ahova irtam, keresd meg (ha akarod) az implementation alatt van.nicht kompot
-
Alan
aktív tag
lao ce nyomdokain továbbgondolkodva talán nem is véletlen, hogy ''fanatikus tag'' a státuszod ;) A kitartásod és az erőfeszítésed tényleg csodálatraméltó. És ezt nem úgy értem, hogy ''jól van pistike, nincs is kockafejed'', hanem komolyan.
Szerintem ha a unit-ok tetejénél kommentekben megjelölöd a forrást, az teljesen OK. Azért értsd meg nagyjából, hogy mit csinálnak, mert szerintem erre is rákérdezhetnek.
A HelpScribble-t nem ismerem sajnos. Talán lao ce igen ;)
Amúgy milyen helpet csinálsz? .hlp lesz a kiterjesztése vagy .chm? A .chm súgók modernebbek és megírhatod sima HTML-ben, képekkel, mindennel, aztán egy ingyenes fordító csinál belőle .chm-et. Egyetlen hátránya, hogy Delphiből nehéz kontextusfüggő súgóvá gyúrni, tehát hogy pl. legyen egy kis kérdőjel az ablakok címsorának jobb oldalán és a program minden gombhoz, kezelőszervhez külön súgótémát mutasson a kérdőjel megnyomása után. Ha csak sima súgó kell, ami pl. F1-re megjelenik egy külön ablakban, akkor ajánlom ezt a HTML-es technikát, elég hatékony. -
lao ce
aktív tag
sajnos a rave reportot nem ismerem.
ha a select az jo csak egyszeruen tobbszor jon a nev a kulonbozo orak melle, akkor a riportban kell olyasmit keresni hogy suppress duplicates vagy ilyesmi. mondjuk en jobb vagy duplaklikkelnek a nev mezon, csak van valami property vagy options, aztan ott keresgelnek.
az is lehet hogy egyszeruen logikailag rosz helyen van a nev, nem detail bandra kell rakni, hanem group band szeru dologra -egy lepessel kifele. lehet hogy letre is kell hozni pluszban ezt a band-et. tanarbacsi adatai a groupbanden, orak neve a detail banden.
ha a select a ludas azaz ismetles van az eredmenysorok kozott, akkor distinct kulcsszo kell (select distinct tanarbacsineve, oraineve from....)
tisztogatas: csak megemlitem, hogyha duplaklikkelsz a warningra (vagy az errorra) a kurzor odaugrik ahol a felesleges valtozod van, es csak egy mozdulat kiszedni a sort...nicht kompot
-
lao ce
aktív tag
tolem mindig valami bonyolultat olvasol.
- canvas-t nem tudom magyarul, de vaszon (festo) ha leforditod szo szerint.
- a nyolc az pixelben van. amolyan magic number, izles szerint.
- ez a kod iszonyu, ezert nehez erteni kicsit.
a TextWidth amire mi utazunk, es ez egy canvashoz kapcsolodik, tok mindegy hogy melyiket hasznaljuk. tobb canvas is van eppen hasznalatban, a stringgridnek es a formnak biztosan ott csucsulnek a canvasai.
ha csak ugy siman benyogi az ember hogy canvast ide vazze, akkor a form canvasat erti a delphi. de, ha with...do is van, akko' eloszor megprobalja, hogy ami a with-be van irva annak van-e canvasa ha igen akkor azt hasznalja. aki irta ezt a programreszletet nyilvanvaloan nem volt tisztaban ezzel.
namarmost.
Canvas.Font := Font
ez a sor hulyeseg. vedd ki a fenebe. megprobaltam leirni hogy miert hulyeseg, de inkabb 'gondolkozz rajta', mert 15 sor volt a magyarazat es en magam sem ertettem a vegen amit irtam...
tudod mit? atirtam neked, mert igy legalabb ertheto mi tortenik, ne mar 6 soron muljon.
// vegigmegy ket ciklussal a cellakon oszloponkent, kiolvassa a cella
// szovegenek szelesseget (TextWidth), eltarolja a legnagyobb erteket
// vegul beallitja az oszlopot a legnagyobb szelessegre
for j := 0 to StringGrid1.ColCount -1 do begin
...maxSzeles := 0;
...for i := 0 to StringGrid1.RowCount -1 do begin
......aktSzeles := StringGrid1.Canvas.TextWidth(StringGrid1.Cells[j, i]) + 8;
......if aktSzeles > MaxSzeles then maxSzeles := aktSzeles;
...end;
...if maxSzeles > 0 then StringGrid1.ColWidths[j] := maxSzeles;
end;
lefogadom hogy igy mar teljesen vilagos mirol van szo. sot, talan a tanarok is elboldogulnak velenicht kompot
-
Alan
aktív tag
Rossz hírem van, szerintem az OK és Cancel gombokat kivéve maradna angolul, mert ez egyedi párbeszédablak. Ha borzalmasan sok időd lenne, azt mondanám, Resource DLL Wizard (azaz Project -> Languages -> Add, majd Hungarian 0x40e) és fordíts le mindent magyarra, de ettől most szerintem te is eltekintesz
A másik Rave Reports-os kérdést passzolom, nem használtam sosem.
Szurkolok neked, ismeretlenül is
[Szerkesztve] -
tusi74
őstag
Ja és még nagyobb gáz, elveszett 2 hete a témavezetőm'' . Sem e-mailre nem válaszol, sem a telefonját nem veszi fel. 1 hónapja még abban állapodtam meg vele, hogy majd legalább egyszer elolvassa a beadás előtt, úgy hogy a hibákat legyen időm kijavítani. Nem mintha eddig hejde segített volna. Holott előre közöltem vele a játékszabályokat, hogy nem vagyok rutinos programozó. Még Ő mondta, hogy egy kihívás lesz neki velem dolgoznia, mert még nem volt tanítványa, aki abszolút kezdőként bevállalt volna ilyet. Ehhez képest, ha nincs ez a fórum, akkor még sehol sem lennék. De legalább kipanaszkodtam magam.
-
-
lao ce
aktív tag
otlet:
hat, ha a nev parameterkent jon (azaz ismert), akkor esetleg vedd ki az adatbazis fieldet teljesen, es ugy ahogy az 'orabeosztasa' szoveget kiirod, tegyel statikus textet, DE, azzal a kulonbseggel hogy a riport formjanak oncreate eventjeben egyszeruen tedd egyenlove egy valtozoval ami a tanar nevet tartalmazza. csak lehet olyat hogy TanarStatTextField.caption := NevString; nem? ez ugyan nem javitana ki a hibat, de megoldana a problemat.nicht kompot
-
lao ce
aktív tag
RvProject2.Text5:=Query18...
hat, ezt nem is fogja. nem tudom milyen tipusu mezo a statikus. Label lenne (mint quickreportban)? mert akkor van captionje (ezert irtam en is hogy caption az elobb). esetleg valami rave report altal keszitett sajat text tipus? nincs olyan hogy Text5.text, Text5.value, Text5.caption vagy esetleg Text5.azanyjat?
eloszor probald hogy Text5.Valami := 'alma';
ha az almaval megy akkor Query blabla is menni fog.nicht kompot
-
lao ce
aktív tag
es a text nem jo? gondolom van olyan hogy Name az a neve a Text meg a szoveg ami benne van. nem ertem mit nem ertesz. vagy nem ertem en mit nem ertek.
szerk: basszus nevezd mar at azt a komponenst txtTanarNeve-re jo? kerlek. Name propertybe irdd be hogy txtTanarNeve. hat meg ilyet. irgum-burgum mar.
[Szerkesztve]nicht kompot
-
lao ce
aktív tag
ok.
1) allj a reportformra. nyomjal alt+f12 -ot. a report formod atvalt text-re.
2) ctrl+f, ird be a keresobe hogy txtnev.
3) keresd meg hol van. a sor ilyen lesz object txtnev: Tvalami (talan TText).
4) scrolloz felfele amig nem talalod meg hogy melyik masik objektumon belul talalhato a txtnev objektum. azaz, az elso olyan object.... sor lesz ami balrabb van rendezve a txtnev-nel
object form : Tform
...tulajdonsagok, objektumok sok soron keresztul...
...object valami : Tvalami <- ezt keressuk
......tulajdonsagok, objektumok sok soron keresztul......
......object txtnev : TValami
5) jegyezd meg a szulo nevet, ezt kell hasznalni.
6) alt+f12 (valts vissza)nicht kompot
-
Alan
aktív tag
...ugyan a kutyát nem érdekli, de off-ban megjegyzem, hogy többek között az ilyenek miatt nem használom, sőt fel sem telepítem a Rave Reports-ot.
Mindenki szidja a QuickReports-ot, csakúgy, mint a BDE-t, de én mind a kettővel jól elvagyok. Tudni kell persze, mik a határok, de azok abszolút nem olyan szűkek, hogy ne lehetne megoldani velük a valódi problémák jó részét. A QuickReports nekem sokkal jobban tetszik, és szerintem te is, tusi74, sokkal jobban tudnád (majd a jövőben) használni.
Na megyek vissza robotolni ;)
[Szerkesztve] -
lao ce
aktív tag
velkam on da bord.
Alan... figyu mar, tusi azt hiszi hogy azert mert nem eszik es csak kolat iszik egesz nap majd mi itt hasraesunk. bevallottan meg a wc-re is kiszaladgal, hat hol tart a vilag komolyan... november ota ccc... melyik ev? tusi, legkozelebb rendelj pizzat, azt siman be tudjak csusztatni a csukott ajto alatt, tudsz kozben fejleszteninicht kompot
Új hozzászólás Aktív témák
- WoW avagy World of Warcraft -=MMORPG=-
- Házimozi haladó szinten
- Milyen TV-t vegyek?
- Honda topik
- No Voice in the Galaxy
- gban: Ingyen kellene, de tegnapra
- KERÉKPÁR / BRINGA / ALKATRÉSZ beárazás
- Call of Duty: Modern Warfare III (2023)
- VR topik (Oculus Rift, stb.)
- Poco X6 Pro - ötös alá
- További aktív témák...