Hirdetés
-
Robotkart irányított a majom a kínai Neuralink agyi chipjével
it A mindezt lehetővé tévő Neucybert a Neuralink kínai riválisa, a Beijing Xinzhida Neurotechnology fejlesztette ki.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Mozgásban az Arena Breakout: Infinite (PC)
gp A korábban csak mobilokra/tabletekre megjelent FPS hamarosan PC-n is elérhető lesz.
Új hozzászólás Aktív témák
-
tusi74
őstag
Köszi,
'' 'startup plus' kenyelmi szolgaltatas rogton az elso rekordot allitja be a kepernyon', ez az idezetem copyrightos ''
Ne félj, nem idézem, sehol, főleg nem a védésnél, mert arra nagyon adok, hogy
amiről csak 1 mondatot tudok mondani, vagy mástól hallottam, azt nem mondom, mert egy járulékos kérdésre már nem tudok válaszolni, és jól beégek.
Igyekszem a védésnél majd azokról a részekről beszéni, amit én találtam ki.
Viszont egy orosz lapon találtam egy kész algoritmust, hogy lehet a StrinGrid mezőiből ideiglenesen Combobox-ot csinálni. Ezt egy az egyben beillesztettem,
csak nem 1 oszlopra, hanem 4-re csináltam. Na ezt még azért át kell tanulmányozni, mert néhány részről nem pontosan tudom, mit csinál, és ha belekérdeznek, marha cikis lesz. Magamtól viszont nem említem meg.
Próbálkoztam a debug-gal, de képtelen vagyok megtanulni.
PL. Tegyük fel, hogy van egy while ciklusom, hogy
i:=0;
while...... do
begin
...
i+:=i+1;
end;
és az i-t szeretném figyelni. Akkor hova tegyem a breakpointot? Aztán mit csináljak, hogy lássam az i változását?
A Computerbooks-os Programoozzunk Delphi 7 rendszerben c. könyvet használom, meg pár ilyen algoritmusos könyvet, de ez sehol sincs leírva.
Van egy ilyen államvizsga tétel is, de gyakorlatban sosem csináltuk az egyetemen, hiába kértük az oktatót. Folyton azt mondta, nem lényeges, nekünk
sosem lesz rá szükségünk. (egyetemi képzés) -
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] -
<Adamsky>
nagyúr
Sziasztok!
DBGrid-ben hogyan tudnám megoldani, hogy egy ''Column'' (oszlop) szélessége a mindenkori leghosszabb adat szélességével legyen egyenlő. -
KovacsUr
addikt
-
yksz
aktív tag
?Mivel állíthatom be, hogy ha elindítasz egy tetszőleges programot automatikusan elinduljon az én progim is?
Fly away my precious knowledge fly far away
-
yksz
aktív tag
?BIOS-ra alkalmazható parancs? Pl.:Hány fokos a CPU; Alaplap; A CPU beállításai és egyebek?
Fly away my precious knowledge fly far away
-
yksz
aktív tag
?Kösz a segítséget, de fogalmam nincs, hogy ezt hogy kell(újonc vagyok Delphiben). Esetleg ha röviden leírnád megköszönném.
Fly away my precious knowledge fly far away
-
KovacsUr
addikt
Szerintem ne csináld. Csak elméleti lehetőségként vetettem fel.
Másrészt pedig ha ezt nem tudod megcsinálni, jobb is, ha nem állsz neki vaktában, előbb ismerkedj egy kicsit az operációs rendszerrel, amit használsz. Komolyan.So it goes… We stand alone by standing stones and turn them into circles.
-
yksz
aktív tag
?Mi a hiba:
var
A: Integer;
B: Integer;
bla bla bla...
A:=strtoint(Edit1.Text);
B:=ArcTan(A);
Edit1.Text:=inttostr(B);
[Szerkesztve]Fly away my precious knowledge fly far away
-
KovacsUr
addikt
Az ArcTan() egy lebegőpontos számot vár (a szöget radiánban), nem egy egész számot (gondolom, szögfokot), amivel te eteted.
[Szerk.]
Hopp, illetve nem egészen, arkusz tangensről van szó, nem figyeltem, de gyanítom, akkor is az a gond, hogy te lebegőpontos számot szeretnél átadni, viszont egészet adsz, továbbá egészre csonkítod az ArcTan visszatérési értékét is (ami viszont valóban egy szög lenne radiánban ).So it goes… We stand alone by standing stones and turn them into circles.
-
Hani
aktív tag
válasz KovacsUr #254 üzenetére
Mit tárolok Iniben?
jajj..sajnos mindent.
Nagyon szimpatikus volt, hogy szöveges - tehát tudom szerkeszteni - ráadásul van pl F.ReadString('MelyikBlokkban','Mitkeressek','Hanincsenmiveljöjjekvissza') eljárás, ami igazán tetszett.
Tudna valaki valamit az Ini helyett ajánlani?
Amiket csinálok vele: (változó hosszú) sorokat olvasok be, beírok/változtatok a sorokon, ilyesmi.
Ha ez mással is megcsinálható, ahol nincs 64K-s határ, nagyon megköszönném, ha valaki tudna benne segíteni, hogyan is megy a beolvasás/írás.
Nem emlékszem egyébként, hogy miért is lett ez, a többivel valami problémám támadt, mindjárt elgondolkozom rajta, hogy hogyan is volt. -
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. -
yksz
aktív tag
? Ha A: real, akkor ezt hogy tudom megjeleníteni egy Edit-tel és hogy tudom kiolvasni az Edit-ből?
Fly away my precious knowledge fly far away
-
lao ce
aktív tag
hat, mint a legtobb ma hasznalatos nyelvben, vannak konverzios fuggvenyek.
ezeket erdemes attanulmanyozni a helpben (csak f1 a delphiben hogy feljojjon a help aztan copy paste a kivant sort a masodik vagy harmadik tab fulecske oldalan):
Floating point conversion routines
Numeric formatting routines
Type conversion routinesnicht kompot
-
yksz
aktív tag
?
Kösz. Ez már majdnem megy. Így írom be:
A:=StrToFloat(Edit1.Text): Extended;
De ezt írja ki:
'' ':=' expected, but ':' found''
?Fly away my precious knowledge fly far away
-
yksz
aktív tag
?Már rájöttem?
Fly away my precious knowledge fly far away
-
yksz
aktív tag
? Na jó most már kiszámolja, csak tök szarul?
Fly away my precious knowledge fly far away
-
gone
csendes tag
Sziasztok!
Én is segítséget szeretnék kérni (delphi6).
Hogyan tudom lekérdezni a programomhoz fűzött paramétereket?
Tehát írok egy progit -progi.exe- néven.Ezt akárhonnan elindítom
progi.exe string paraméterrel (string például egy file neve)
És magába a delphi programban hogyan tudom kiolvasni a hozzá fűzött paramétert?
s : string;
begin
s:=??????
end;
A választ előre is köszönöm. -
yksz
aktív tag
? Mi a hiba:
B: Real;
A: Real;
C: Real;
bla bla bla;
A:=StrToFloat(Edit1.Text);
B:=Cos(A);
C:=RadToDeg(B);?Fly away my precious knowledge fly far away
-
yksz
aktív tag
? Igen beraktam és nekem is megyen, csak nem jól számolja ki, mert 0,999847695 helyett 30,9570417874309-et mutat. Vagy az Edit1.Text:=FloatToStr(C) sorral lehet a gond?
[Szerkesztve]Fly away my precious knowledge fly far away
-
yksz
aktív tag
? 1-et írok?
Fly away my precious knowledge fly far away
-
Tangerine
senior tag
Ezt találtam a neten:
Function cos(X: Extended): Extended;
The value x must be in radians. To convert from degrees to radians use DegToRad. For example, cos(60 degrees) in Delphi would be cos(DegToRad(60)) = 0.5.
A lényeg: cos(60 degrees) in Delphi would be cos(DegToRad(60))
A te példád helyesen:
B: Real;
A: Real;
C: Real;
bla bla bla;
A:=StrToFloat(Edit1.Text);
B:=Cos(degtorad(A));
C:=B;
Azaz a C-t ki ishagyhatod.Vacillálni, vagy nem vacillálni, ez itt a kérdés, vagy mégse?
-
yksz
aktív tag
? Hát persze. Bravo és kosz. Elfelejtettem hogy amit megadok a számot az Degressben van. Lao Ce az mindegy hogy 1 vagy 31 fok, mert cosinus-nál az eredmény -1 és 1 kozott lehet és semmiképpen se 30.
Fly away my precious knowledge fly far away
-
yksz
aktív tag
?Most mi a hiba:
B:=ArcSin(DegToRad(A));
és 90 helyett 0,0174541787375852-t mutat?
Ja és nálam ne nézd hova teszem a kérdőjelet. Azt csak úgy teszem, vagy nem, de a szövag elejére mindig.
[Szerkesztve]Fly away my precious knowledge fly far away
-
yksz
aktív tag
? PROBLÉMA:
Rajzoltam egy képet 3DS-MAX-ban. Pontosabban 2-t. Delphiben akarnám megcsinálni a következő dolgot:
Az egyik képben van 1 kamera. A másik képet beteszem az egyik képbe és az egyik kép kamerája a másik képhez viszonyítva mindig ugyanabban a pozícióban van. A másik kép viszont vátoztatja helyzetét az egyik képhez viszonyítva. Na ezt most hogy kell????????????????????????????????????????????????????????Fly away my precious knowledge fly far away
-
lao ce
aktív tag
kedves yksz
eloszor mit akarsz vegrehajtani? az arcsin-t igaz?
masodszor?
a degtorad-ot? nem, hanem a radtodeg-et.
tehat az arcsin-nek kell a belso fuggvenynek lennie es a radtodeg-et hasznald kivul.
szerintem olvasd el a help-et ami ezekhez van irva es probald megerteni mit is csinalnak a fuggvenyek.nicht kompot
-
yksz
aktív tag
? Jó elolvasom, de az hosszú De a cotangenssel, ArcCot Coth és ArcCoth-val még most se jutok dűlőre
Fly away my precious knowledge fly far away
-
lao ce
aktív tag
ertem en: a kezdet nem konnyu.
mindenkeppen azt gondolom, hogyha nehez hosszabb angol szoveget ertelmezned (senki sem szuletik ugy), akkor erdemes lenne venned magyar nyelvu programozasi alapokkal foglalkozo konyvet. ha az alapok megvannak (nem olyan veszes, szerintem az egesz 2-3 het olvasgatas talan), akkor lehet egy delphis konyvet venni.
nem bantasbol irom hanem segitsegkent, hogy senki nem fogja tudni tizezer problemadat megvalaszolni sem itt sem mashol, csak te magad. viszont ha a konyveken atragtad magad, gyorsabban fogsz tudni haladni mint mindig varni hogy valaki valaszol, azt nem erted, akkor visszkerdezel arra megint varsz stb.
ezt a sort tedd egy button onclick esemenyebe.
ShowMessage( ' ArcSin-je az EditBox ertekenek = ' +
...FloatToStr (
......RadToDeg (
.........ArcSin (
............StrToFloat( Edit1.Text )
.........)
......)
...)
+ ' fok.' );
nem probaltam ki, de gondolom megy persze a pontok nelkul... es persze csak remelni tudom egy ez kell.nicht kompot
-
tusi74
őstag
Na még egy kisebb kérdés. Szerintetek meg lehet azt oldani, hogy egy feltöltött StringGrid, ami egy keresés eredményét mutatja, egy ButtonClickre egy az egyben kinyomtatódjon, ugyanúgy táblázatos alakban?
Mert itt szórkozok a Rave Reporttal, de az még egy Query-vel is leég nyögvenyelős. Meg nekem nem tetszik az eredmény. -
yksz
aktív tag
? OK. Honnan lehet letölteni magyarul a Mastering Delphi 6-ot?
Fly away my precious knowledge fly far away
-
tusi74
őstag
Eddig én is eljutottam, csak nem jövök, rá, melyik kódot hová kell
copy-paste-zni, hogy működjön.
Eddig, ha így szereztem kódot, akkor egyértelmű volt, hogy melyik eseményhez
melyik eljárást kell írni. De most pl. Van külön type stb, és nem tudom beilleszteni
az én programomba.
type
TrecPrintStrGrid = Record
PrCanvas : TCanvas; //Printer or PaintBox Canvas
sGrid: TStringGrid; //StringGrid containing data
sTitle: String; //Title of document
bPrintFlag : Boolean; //Print if True
ptXYOffset : TPoint; //Left and Top margins
ftTitleFont : TFont; //Font for Title
ftHeadingFont : TFont; //Font for Heading row
ftDataFont : TFont; //Font for Data
bBorderFlag : Boolean //Print border if True
end;
var
recPrintStrGrid : TrecPrintStrGrid;
procedure PrintGrid(ArecPrintStrGrid : TrecPrintStrGrid);
var
iX1, iX2, iY1, iY2, iY3, iTmp , iLoop, iWd : Integer;
trTextRect : TRect;
begin
iWd := 0;
with ArecPrintStrGrid, PrCanvas do
begin
//Calculate Total Width of String Grid
Font := ftHeadingFont;
for iLoop := 0 to sGrid.ColCount-1 do
begin
if (TextWidth(sGrid.Cells[iLoop, 0])+5) < sGrid.ColWidths[iLoop] then
iWd := iWd + sGrid.ColWidths[iLoop]
else
iWd := iWd + TextWidth(sGrid.Cells[iLoop, 0])+5;
end; // for sGrid.ColCount
//Initialize Printer
if bPrintFlag then
begin
Printer.Title := sTitle;
Printer.BeginDoc;
end;
//Output Title
Pen.Color := clBlack;
Font := ftTitleFont;
TextOut(((iWd Div 2) - (TextWidth(sTitle) Div 2)), ptXYOffset.Y, sTitle);
//Output Column Data
for iLoop := 0 to sGrid.ColCount-1 do
begin
Font := ftHeadingFont;
iX1 := ptXYOffset.X;
for iTmp := 0 to (iLoop-1) do
if (TextWidth(sGrid.Cells[iTmp, 0])+5) < (sGrid.ColWidths[iTmp]) then
iX1 := iX1 + (sGrid.ColWidths[iTmp])
else
iX1 := iX1 + TextWidth(sGrid.Cells[iTmp, 0])+5;
iY1 := ptXYOffset.Y + ((TextHeight('Ag')+5) * 2);
iX2 := ptXYOffset.X;
for iTmp := 0 to iLoop do
if (TextWidth(sGrid.Cells[iTmp, 0])+5) < (sGrid.ColWidths[iTmp]) then
iX2 := iX2 + (sGrid.ColWidths[iTmp])
else
iX2 := iX2 + TextWidth(sGrid.Cells[iTmp, 0])+5;
iY2 := iY1 + TextHeight('Ag');
trTextRect := Rect(iX1, iY1, iX2, iY2);
TextRect(trTextRect, trTextRect.Left+5, trTextRect.Top+3, sGrid.Cells[iLoop, 0]);
Brush.Color := clWhite;
if bBorderFlag then FrameRect(trTextRect);
Brush.Style := bsClear;
//Output Row Data
Font := ftDataFont;
iY1 := iY2;
iY3 := TextHeight('Ag')+5;
for iTmp := 1 to sGrid.RowCount-1 do
begin
iY2 := iY1 + iY3;
trTextRect := Rect(iX1, iY1, iX2, iY2);
TextRect(trTextRect, trTextRect.Left+5, trTextRect.Top+3, sGrid.Cells[iLoop, iTmp]);
Brush.Color := clBlack;
if bBorderFlag then FrameRect(trTextRect);
Brush.Style := bsClear;
iY1 := iY1 + iY3;
end; // for sGrid.RowCount-1 do
end; // for sGrid.ColCount-1
if bPrintFlag then Printer.EndDoc;
end; // with ArecPrintStrGrid, prCanvas
end; { PrintGrid }
procedure TfrmSamp.buPrintClick(Sender: TObject);
begin
with recPrintStrGrid do
begin
PrCanvas := pbPreview.Canvas;
sGrid := stgData;
sTitle := 'Print of String Grid';
bPrintFlag := False;
ptXYOffset.X := 10;
ptXYOffset.Y := 100;
ftTitleFont := TFont.Create;
with ftTitleFont do
begin
Name := 'Arial';
Style := [fsBold, fsItalic, fsUnderLine];
Size := 14;
end;
ftHeadingFont := TFont.Create;
with ftHeadingFont do
begin
Name := 'Arial';
Style := [fsBold];
Size := 12;
end;
ftDataFont := TFont.Create;
with ftDataFont do
begin
Name := 'Arial';
Style := [];
Size := 10;
end;
bBorderFlag := True;
end; //with recPrintStrGrid do
PrintGrid(recPrintStrGrid);
end; -
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
-
tusi74
őstag
Ezt is így csináltam, józan paraszti ésszel, csak épeen nem működik.
Pl. a Private szót hibásnak találja.
Már ugyebár van benne egy type az editek, buttonok miatt.
Most akkor követeli, hogy annak a végére tegyek endet, holott addig nem volt.
Most akkor e-mögé másoljam oda megint type.... end?
Nagyon nem megy ez nekem. -
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
-
yksz
aktív tag
? Már megvan csak angolul, ezért kérdeztem hogy van-e magyarul. Na mindegy.
Fly away my precious knowledge fly far away
Új hozzászólás Aktív témák
- Playstation 5 lemezes,5 honapos,19 ho garanciával
- MSI H61M-P31/W8 LGA 1155 alaplap
- Teljesen új ASUS ZenBook UX325EA-KG666W (Intel i5 1135G7) laptop eladó (bontatlan+garanciás)
- Új, bontatlan Samsung S24+ 256 GB black
- Dell Latitude E7270, 12,5" HD Kijelző, i5-6300U CPU, 8GB DDR4, 256GB SSD, W10, Számla, Garancia