Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Hozzászólások

(#1901) sanzi89 válasza sanzi89 (#1900) üzenetére


sanzi89
addikt

Akkor leírnám mire jutottam. Van egy Form-om, legyen neve Form2. Az alábbi beállítások érvényesek:
WindowsState = wsMaximized
AutoScroll = False

Van egy ScrollBoxom, legyen a neve ScrollBox1. Az alábbi beállítások érvényesek:
Align = alClient
AutoScroll = True

És akkor a forráskód:

unit elsokep;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, JPEG;
type
TForm2 = class(TForm)
ScrollBox1: TScrollBox;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses anla;
{$R *.dfm}

procedure TForm2.FormShow(Sender: TObject);
var
JPG1: TJPEGImage;
begin
//Formot a bal felso sarokba allitom
Form2.Top:=0;
Form2.Left:=0;
//Meghatarozzuk a megjelenitendo kep meretet
JPG1:=TJPEGImage.Create;
JPG1.LoadFromFile('c:\01.jpg');
//Letrehozzuk a megjelenitendo kep komponenset a jo beallitasokkal
with TImage.Create(self) do begin
Name:='Kep';
Parent := ScrollBox1;
Autosize:=True;
Top := 0;
Left := 0;
Width := JPG1.Width;
Height := JPG1.Height;
Picture.LoadFromFile('c:\01.jpg');
end;
end;
end.

Ez annyit tud, hogy új formon megjeleníti scrollboxban a képet eredeti felbontásban. Erre kellene egy OnClick, hogy milyen változás legyen, ha kattintok. Ezt is megcsináltam, de nem jó:

procedure TForm2.KepClick(Sender: TObject);
begin
ShowMessage('OK');
end;

Azt írja, hogy a Kep nem található, pedig ilyen néven hoztam létre... Ötletek? :U

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#1902) sanzi89 válasza sanzi89 (#1901) üzenetére


sanzi89
addikt

Plusz a másik gondom, hogy minden egyes Form nyitáskor létrehozza a TImage-et, így ha újra megnyitom a Formot hibát dob, mert már létezik Kep nevű komponens. Az volna az ötletem, hogy a FormClose-ba beleteszem az objektum törlését, de mivel nem tudok rá hivatkozni (Kep.Free; nem jó), nem tudok vele mit csinálni.

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#1903) zka67 válasza sanzi89 (#1901) üzenetére


zka67
őstag

1. a public részben csinálj egy Image : TImage; változót.
2. a form létrehozásakor (FormCreate) hozd létre az Image-t, a Name tulajdonságot ne bántsd.
3. az Image paramétereiben hiányzik az OnClick, ezt add hozzá:
Image.OnClick := KepClick;

Ha a form tulajdonságaiban a BorderStyle-t bsNone-ra állítod, kereted sem lesz,.
A JPG1-re nincs szükséged, sem az Image Width és Height beállításokra, mivel a LoadFromFile be fogja állítani ezeket. Ha a Stretch-et true-ra állítod, akkor kinyújtja a teljes képernyőre a képet.

(#1904) sanzi89 válasza zka67 (#1903) üzenetére


sanzi89
addikt

Köszönöm a tippeket! Még nincs teljesen kész a dolog, de már módosítgattam pár rész a kódon. Holnap meglesem, hogy mit lehet még változtatni és írok.

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#1905) sanzi89 válasza sanzi89 (#1904) üzenetére


sanzi89
addikt

Végül az lett a megoldás, hogy előre létrehozott Image komponens Height és Width értékeit állítottam úgy, ahogy nekem tetszik. Plusz ugye a Form méretét is ehhez mérten állítottam be. Kicsit szöszmötölős, de végül sikerült.

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#1906) sanzi89


sanzi89
addikt

Újabb gondom akadt. Volna egy .db kiterjesztésű, elvileg Pradox 5-ös adatbázisom, amihez szeretnék hozzáférni. Az adatbázis nem tartalmaz jelszót, azonban a Delphi mindig feladja a kis ablakját Query indításkor, hogy felhasználónév, jelszó. Ha nem írok be semmit, csak leokézom, akkor a következő hibaüzenetet kapom:

Operation must be performed on the current session

Hogyan tudnám megkerülni, hogy ne kérjen jelszót, ha egyszer nincs. Lokális XP-n ODBC-n fut az adatbázis.

"Mindent azért kell tudni mert kérdezik, nem azért mert hasznos."

(#1907) Tanisz válasza sanzi89 (#1906) üzenetére


Tanisz
senior tag

Paradox régen volt, mintha igaz se lett volna, de hátha nem mondok akkora marhaságot:
de BDE nem lenne jobb erre?:)
DataModul-t használsz?

http://projekt.azigazikincs.hu/ ''Homo loquax nonnumquam sapiens''; "Nam et si ambulavero in valle umbrae mortis, non timebo mala, quoniam tu mecum es. Virga tua et baculus tuus, ipsa me consolata sunt. "

(#1908) Tanisz válasza Tanisz (#1907) üzenetére


Tanisz
senior tag

Vagy épp ADO komponenst, én gyakran azt használtam és nem volt vele gond soha sem.

http://projekt.azigazikincs.hu/ ''Homo loquax nonnumquam sapiens''; "Nam et si ambulavero in valle umbrae mortis, non timebo mala, quoniam tu mecum es. Virga tua et baculus tuus, ipsa me consolata sunt. "

(#1909) Jeti1


Jeti1
tag

Ha egy Delphiben írodott program indításkor, amikor egy adatbázishoz csatlakozna a "Drive not know to system" hibát generálja, mi lehet a gond? Találkozott már valaki ilyen hibajelenséggel?

Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/

(#1910) D@ni88


D@ni88
addikt

Sziasztok.

Delphiben hogyan lehet DateTime típusú változóhoz pl 1 percet hozzáadni?

Köszi Dani

(#1911) zka67 válasza D@ni88 (#1910) üzenetére


zka67
őstag

A DateUtils unitban vannak a dátum/idő rutinok. Ebben megtalálod a többek között a következőket is:

function IncYear(const AValue: TDateTime; const ANumberOfYears: Integer = 1): TDateTime;
// function IncMonth is in SysUtils
function IncWeek(const AValue: TDateTime; const ANumberOfWeeks: Integer = 1): TDateTime;
function IncDay(const AValue: TDateTime; const ANumberOfDays: Integer = 1): TDateTime;
function IncHour(const AValue: TDateTime; const ANumberOfHours: Int64 = 1): TDateTime;
function IncMinute(const AValue: TDateTime; const ANumberOfMinutes: Int64 = 1): TDateTime;
function IncSecond(const AValue: TDateTime; const ANumberOfSeconds: Int64 = 1): TDateTime;
function IncMilliSecond(const AValue: TDateTime; const ANumberOfMilliSeconds: Int64 = 1): TDateTime;

pl. ha egy perccel többet szeretnél a jelenlegi időnél, akkor

Label1.Caption := DateTimeToStr( IncMinute(Now, 1) );

(#1912) oleslie válasza sanzi89 (#1906) üzenetére


oleslie
aktív tag

BDE / TDatabase esetén van egy loginprompt paraméter. Alaphelyzetben engedélyezett (true). Én átállítanám ...

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1913) boros.denes


boros.denes
csendes tag

Sziasztok!
Az alábbi programrészletben kéne segítség, amely nem indul el, hibaüzenetet ír:

procedure p_BINtoDEC(bin:string;var dec:integer);
var i,x:integer;
begin
dec:=0;
for i:=1 to length(bin) do
begin
x:=length(bin)-i;
»»if bin[i]='1' then dec:=dec+exp(x*ln(2))*bin(i);
end;
end;

A jelölt sorra ír egy hibát, az alábbi szöveggel:

Operator not applicable to this operand type.
Valaki tudna valami megoldást? Köszönöm előre is :)

[ Szerkesztve ]

Üdv: boros.denes

(#1914) oleslie válasza boros.denes (#1913) üzenetére


oleslie
aktív tag

csak tippelek, de itt egy rövid idézet a d7 helpjéből :

Delphi syntax:

procedure Dec(var X[ ; N: Longint]);

Description

In Delphi code, Dec subtracts one or N from a variable.

kezdetnek átnevezném a 'dec' nevü változót
aztán ..
bin vs bin(i), char típussal mit akarsz szorozni? chr(49) = '1' , valamit megszorzol 49-el?

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1915) oleslie válasza boros.denes (#1913) üzenetére


oleslie
aktív tag

var b:longint
b:=0;
for i:=1 to length(bin) do
if (bin[length(bin)-(i-1)]='1') then
b:=b or (1 shl (i-1));

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1916) zka67 válasza boros.denes (#1913) üzenetére


zka67
őstag

function BinToInt(Value: string) : integer;
var i : integer;
begin
Result := 0;
for i := 1 to Length(Value) do
case Value[i] of
'0': Result := Result shl 1;
'1': Result := (Result shl 1) or 1;
else
Break;
end;
end;

(#1917) oleslie válasza zka67 (#1916) üzenetére


oleslie
aktív tag

ez így nem ér ... adsz neki egy működőt :(
legalább kicsit törhetné a fejét vmi apróságon :P
modjuk az enyém is működik ... akkor nem szóltam :)

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1918) zka67 válasza oleslie (#1917) üzenetére


zka67
őstag

De a tied mit ad arra, hogy '1023510'? :D

(#1919) oleslie válasza zka67 (#1918) üzenetére


oleslie
aktív tag

66 (0x42), ami meg is felel a valóságnak, mert a 2,3,5 nem fér bele a kettes számrencerbe :P

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1920) D@ni88


D@ni88
addikt

Sziasztok.

Képet szeretnék menteni oracle-be blob típusba :)
insertQuery.ParamByName('image_data').LoadFromStream(FImageStream, ftBlob);

Ez lefut, de magánál a végrehajtásnál:
ORA-01460 unimplemented or unreasonable conversion requested

BDE 4.0 verzióját használjuk.

Ha az SQLORA32.dll-ről SQLORA8.dll-re váltunk megoldódik a probléma, de jelentősen lassul az alkalmazás. :U

Köszi

(#1921) oleslie válasza zka67 (#1918) üzenetére


oleslie
aktív tag

azért tudom még fokozni
function bin2dec(bin : string) : longint;
asm
push eax
push ebx
xor ebx,ebx
@loop0:
rol ebx,1
cmp byte ptr [eax],$31
jnz @zerobit
or ebx,1
@zerobit:
inc(eax)
cmp byte ptr [eax],0
jnz @loop0
mov result,ebx
pop ebx
pop eax
end;

:DD
ez is helyes (bár ez nézőpont kérdése) eredményt ad (0x42)

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1922) D@ni88


D@ni88
addikt

Kérlek segítsetek, hogy az alábbi kódban hol a hiba:

selQuery:=TADOQuery.Create(nil);
selQuery.ConnectionString:=connection;
try
{---assemble SQL statement}


selQuery.SQL.add('SELECT ID, CUSTOMER_SESSION_ID, IMAGE_NAME, IMAGE_DATA, IMAGE_COMMENT, ENABLED,'
+ ' CREATE_DATE, CREATE_USER_ID, MODIFICATION_DATE, MODIFICATION_USER_ID'
+ ' FROM IMAGES)
+ ' WHERE ID = :id');
selQuery.ParamCheck:=False;
selQuery.Parameters.ParamByName('id').Value:= 1;
selQuery.ExecSQL;

Parameters sornál száll el....
Parameter 'id' not found;

(#1923) oleslie válasza D@ni88 (#1922) üzenetére


oleslie
aktív tag

létezik az 'id' névvel hivatkozott paraméter?
CV from d7 help / tparameters / methods / addparameter
with ADOStoredProc1.AddParameter do begin
DataType := ftString;
..Direction := pdInput;
Value := 'malathion';
end;

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1924) D@ni88 válasza oleslie (#1923) üzenetére


D@ni88
addikt

TQuerynél simán működik ha megadom :id-vel akkor a paraméter listában tudok rá hivatkozni.
Próbáltam rá nézni példákat, de mindenhol ugyan ezt találtam...
Nem vagyok nagy delphi guru :U

(#1925) oleslie válasza D@ni88 (#1924) üzenetére


oleslie
aktív tag

bevallom, lustaságom 6ártalan. Én rádobtam a formra, és az object inspector-ban beálllítottam ami kellett.
D7 & ADO > VFP7 .dbf fájlokban túrok így

arufindquery.Parameters.ParamByName('brmin').Value:=brmin;
arufindquery.Parameters.ParamByName('brmax').Value:=brmax;
arufindquery.Prepared:=true;
arufindquery.Open;

arufindquery.SQL :
SELECT ar1.azonosito as aruid FROM ar1
JOIN arunet ON arunet.azonosito=ar1.azonosito
WHERE BETWEEN(ar1.eladb, :brmin, :brmax)

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1926) D@ni88 válasza oleslie (#1925) üzenetére


D@ni88
addikt

Lehet, hogy bennem van a hiba, de nem sok kulönbséget látok a paraméter megadásba.

A többi eltérés pedig lehet abból is, hogy én delphi 6-ot használok...

(#1927) oleslie válasza D@ni88 (#1926) üzenetére


oleslie
aktív tag

Pedig van 1 lényeges különbség kettőnk megoldása között.
Én a szerkesztővel hoztam létre az ojjektumot, míg te futásidőben.

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1928) D@ni88 válasza oleslie (#1927) üzenetére


D@ni88
addikt

Jó, persze, de itt nem felületről kellene betölteni a képet.
Ugyan ilyen módszerrel működik az insert, szval ezért nem értem...

(#1929) oleslie válasza D@ni88 (#1928) üzenetére


oleslie
aktív tag

query1:=TADOQuery.Create(nil);
query1.Connection:=ADO_fromprovimax;
query1.Active:=false;
query1.ParamCheck:=false;
query1.SQL.Clear;
query1.SQL.Add('SELECT vevox.azonosito as vid, vevox.nev as vnev, vevojel.datum as vdatum FROM vevojel');
query1.SQL.Add('JOIN vevox ON vevox.azonosito=vevojel.azonosito');
query1.SQL.Add('WHERE vevox.thelyseg=":vhely" AND vevox.adoszam="" AND vevox.fizmod="Készpénz"');
query1.SQL.Add('ORDER BY vdatum desc');
with query1.Parameters.AddParameter do begin
DataType:=ftString;
Name:='vhely';
value:='Budapest';
end;

a te módszereddel (1922) hibát ad, így működik. ne kérdezd miért :W

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1930) D@ni88 válasza oleslie (#1929) üzenetére


D@ni88
addikt

Na akkor ezt hétfőn kipróbálom :R
Köszi

(#1931) D@ni88 válasza D@ni88 (#1930) üzenetére


D@ni88
addikt

Idő közben megtalátam a hibát :)
Az ExecSQL csak lefuttatja az sql utasítás (ezért működött az insertnél). Open-nel jó...
Esetleg tudtok valami infót a BDE és ADO közti különbségről?

(#1932) D@ni88


D@ni88
addikt

Sziasztok.

Ismét lenne egy kérdésem :)
Van egy jó régi programunk, ami belépés megkezdésekor csatlakozik az adatbázishoz.
A BDE-t használó Tquery objektumok a belépéskor létrejött adatbázis kapcsolatot használják.

Most gondolkozunk az ADO-ra való átálláson, de ha TADOQuery-hez tartozó connectionstring megadásával csatlakozok akkor az létrehoz egy teljesen új oracle sessiont.

Meg lehet oldani, hogy a connection string megadása nélkül használjam a TADOQuery objektumot?

Köszi
Dani

(#1933) TAZ155


TAZ155
csendes tag

Sziasztok.

Abban szeretném a segitségeteket kérni , hogy hogyan lehet megadni a ScrollBar max értékét .
A max értéket Edit4.text-be lenne megadva.

ScrollBar1.Max := 126 ;

De nekem ennek az értékét Edit4.text-ből kéne állitanom.
Mi a helyes megoldás??

ScrollBar1.Max := Edit4.text ; :N

Sok megoldást kipróbálatam, de eggyik sem münködött. :O

Köszi. :R

Hali

Hozzáteszem nagyon kezdő vagyok a Delphi programozásban. De valahól el kell kezdeni!!??

(#1934) zka67 válasza TAZ155 (#1933) üzenetére


zka67
őstag

Szia, így:
try
ScrollBar1.Max := StrToInt(Edit4.Text);
except
on E: Exception do { hibakezelés };
end;

(#1935) TAZ155


TAZ155
csendes tag

Üdv.

A végén igy sikerült megoldanom.

-------------------------------------------------------------------------------------------------------------------

procedure TFom_ini.FormCreate(Sender: TObject);
Var
Z1 : Integer;
F: TIniFile;

// Adatok beolvasása

begin
F:=TIniFile.Create(ExtractFilePath(Application.Exename) +'gm300.ini' );
With F do
begin
Edit2.Text:= ReadString('P_Config','Walue',Edit2.Text);
Edit4.Clear;
Edit4.Text:= ReadString('P_Config','Max',Edit4.Text);// a scroll max érték megadása

end;

// Scrollbar beállitásai
// vízszintes görgetősáv beállítása, ez alapértelmezés

ScrollBar1.Kind := sbHorizontal;

// a görgetősávok határainak beállítása
ScrollBar1.Min := 1;

Z1:=StrtoInt(Edit4.text);
ScrollBar1.Max := Z1;

// a csúszka helyzetének beállítása
ScrollBar1.Position := 1;
// a "soronkénti" lépésnagyság beállítása
ScrollBar1.SmallChange := 1;

// az "oldalankénti" lépésnagyság beállítása
ScrollBar1.LargeChange := 10;

// a szövegmesők csak olvashatók
Edit1.ReadOnly := true;

// az ablak bal felső sarkának koordinátái
Left := 200;
Top := 100;

end;

-----------------------------------------------------------------------------------------------------

A hibakezelést még odairom.

A következő kérdésem az lenne hogy hogyan tudok PL: összeszorozni egész számot, nem egész számmal??

133*0.66=??

milyen megoldások vannak, az ilyen probléma megoldására??

Hali

Hozzáteszem nagyon kezdő vagyok a Delphi programozásban. De valahól el kell kezdeni!!??

(#1936) zka67 válasza TAZ155 (#1935) üzenetére


zka67
őstag

Így: Delphi float to integer conversions

Pl:

var i : integer;

i := Round(133 * 0.75);

[ Szerkesztve ]

(#1937) drkbl válasza zka67 (#1936) üzenetére


drkbl
őstag

Szvsz. inkább SimpleRoundTo, a RoundTo a felet néha lefelé kerekíti (banker's round)

[ Szerkesztve ]

(#1938) zka67 válasza drkbl (#1937) üzenetére


zka67
őstag

Ezért linkeltem be neki az összeset, Round, Trunc, Int, Frac, hogy lássa, milyen lehetőségek vannak, de köszönöm a kiegészítést.

(#1939) leximester


leximester
tag

Sziasztok, Egy olyan szorgalmit kaptunk suliba, hogy delphiben kéne megírni az androidon ismert szókereső játékot. Ebben kérném segítségeteket, hogy hogyan is történhet ott, maga a 3*3-s játéktér elkészítése? Maga a szótár fájl kész van, illetve a gombokat is elhelyeztem. Én úgy csináltam hogy fixen kiválasztok a szótárból pl egy 3 betűs szót és utána ennek a szónak a betűihez választok további szavak, viszont így egy idő után tudni lehet hogy hol is vannak a szavak. Esetleg valakinek van jobb ötlete? Köszi.

(#1940) TAZ155


TAZ155
csendes tag

oké.

köszi a válaszokat.

mind a két variációt, megnézem.

hali

Hozzáteszem nagyon kezdő vagyok a Delphi programozásban. De valahól el kell kezdeni!!??

(#1941) TAZ155


TAZ155
csendes tag

sziasztok.

Nos mind a két variációt megnéztem.

-------------------------------------------------------------------------------------------------
procedure TFom_ini.Button2Click(Sender: TObject);
var
z1,z2 :Integer;

begin
z1:=StrtoInt(Edit1.text);
z2:=StrtoInt(Edit2.text);
Edit3.text:=FloatToStr(z1*z2);

end;
end.

// igy hibaüzenetet kapok a delphi-től.
-------------------------------------------------------------------------------------------------
Ez igy önmagában münködik.
Edit3.Text := FloatToStr(126*0.039);

De hogyan kell átalakitani, hogy Edit.text-esetében jó legyen.

Több megoldást kipróbáltam, de a hibaüzenet maradt.

A végén a z1 és z2 értéket szeretném összeszorozni.

Kipróbáltam ezt a megoldást is.
Edit3.Text := FloatToStr(ScrollBar1.Position*0.039);

Majdnem megfelel nekem, és egyszerűbb.
De a 0,039-helyére nekem az Edit2.text-et kéne beirnom, a részadatod amit a végén beszorzom,
onnan venném.

Edit3.Text := FloatToStr(ScrollBar1.Position*0.039); ebben az esetben hogyan hivatkozom az Edit2.text-re??

Scrollbar1 értékét (Edit1.text) szorzom Edit2.text értékével.
Az az

---------------------------------------------------------------------------------------------

procedure TFom_ini.Button2Click(Sender: TObject);

begin
// Scrollbar értéke szor Edit2 = Edit3.text

Edit3.Text := FloatToStr(ScrollBar1.Position*Edit2.text);

end;

-----------------------------------------------------------------------------------------------------
Helyesen hogyan kell hivatkozni Edit2.text-re ebben az esetben??

Hali

Hozzáteszem nagyon kezdő vagyok a Delphi programozásban. De valahól el kell kezdeni!!??

(#1942) oleslie válasza TAZ155 (#1941) üzenetére


oleslie
aktív tag

1., mi a hibaüzenet?
2., most nem indítok ezért delphi -t, de int x int != float

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1943) zka67 válasza TAZ155 (#1941) üzenetére


zka67
őstag

Így:

procedure TFom_ini.Button2Click(Sender: TObject);
var z1,z2 : Real;
begin
DecimalSeparator := '.';
z1 := StrToFloat(Edit1.text);
z2 := StrToFloat(Edit2.text);
Edit3.text := FloatToStr(z1*z2);
end;

A DecimalSeparator értéke határozza meg, hogy tizedespontot vagy tizedesvesszőt fogadjon el.
A hibakezelést majd ne felejtsd el hozzáadni (try ... except),

procedure TFom_ini.Button2Click(Sender: TObject);
var z1,z2 : Real;
begin
DecimalSeparator := '.';
try
z1 := StrToFloat(Edit1.text);
z2 := StrToFloat(Edit2.text);
except
on E: Exception do { Hibakezelés }
end;
Edit3.text := FloatToStr(z1*z2);
end;

vagy használd a Val funkciót.

procedure TFom_ini.Button2Click(Sender: TObject);
var z1,z2 : Real;
e : integer;
begin
DecimalSeparator := '.';
Val(Edit1.Text, z1, e);
if e > 0 then begin
{ Hibakezelés, pl. z1 := 1; vagy Exit; }
end;
Val(Edit1.Text, z2, e);
if e > 0 then begin
{ Hibakezelés, pl. z2 := 1; vagy Exit; }
end;
Edit3.text := FloatToStr(z1*z2);
end;

[ Szerkesztve ]

(#1944) TAZ155


TAZ155
csendes tag

Szia.
--------------------------------------------------------------------------------------
var
z2 :Integer;

begin
z2:=StrtoInt(Edit2.text);
Edit3.Text := FloatToStr(ScrollBar1.Position*z2);

end;

---------------------------------------------------------------------------------

A hiba üzenet ebben az esetben

Hozzáteszem nagyon kezdő vagyok a Delphi programozásban. De valahól el kell kezdeni!!??

(#1945) oleslie válasza TAZ155 (#1944) üzenetére


oleslie
aktív tag

0.039 nem egész (int) szám, te pedig akként akarod értelmeztetni. strtofloat a barátod, de ezt zka megírta korábban.

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

(#1946) Jeti1


Jeti1
tag

Melyik az a legutolsó Delphi verzió, amelyik még BDE-t használt? Egyáltalán melyik a legfrissebb beszerezhető BDE verzió? Tudom, hogy nagyon régi technológia, de érdekel. Remélem tud valaki segíteni.

Ne várjunk a nevetéssel, amíg boldogok leszünk. Különben félő: meghalunk anélkül, hogy nevettünk volna. /La Bruyére/

(#1947) D@ni88


D@ni88
addikt

Sziasztok

StringGridből szeretném kinyerni az értékét.

i:= dbgDelivery.Cells[SelCol, SelRow];

mindig üres stringet kapok vissza attól függetlenül, hogy van e valami a mezőben..

Tudnátok segíteni?

Köszi

[ Szerkesztve ]

(#1948) D@ni88 válasza D@ni88 (#1947) üzenetére


D@ni88
addikt

a cella értékének változtatása az megy....

(#1949) D@ni88 válasza D@ni88 (#1947) üzenetére


D@ni88
addikt

valaki?

(#1950) oleslie válasza D@ni88 (#1949) üzenetére


oleslie
aktív tag

próbáltam, nekem működik. Ha mutatnál vmi kódrészletet, hogyan próbálod ...
StringGrid1.Cells[1,1]:='c1r1';
StringGrid1.Cells[1,2]:='c1r2';
StringGrid1.Cells[3,3]:='c3r3';
showmessage(stringgrid1.Cells[1,2]);

esetleg próbáld meg, hogy feldobsz a formra egy tmemo -t, és abba beírod a selcol/selrow értékeket, hogy mit próbál kiolvasni a programod, vagy a kiolvasás sorára beállítasz egy töréspontot, és megnézed mi a változók értéke (azt akarja kiolvasni, amit szerinted kell neki? biztos van érték a kiolvasni akart cellában? próbáltad "kézzel" /ctrl+f7/?)

[ Szerkesztve ]

Egyszerű életet élek. Ami üres megtöltöm, ami tele van kiűritem

Copyright © 2000-2024 PROHARDVER Informatikai Kft.