باز کردن فایل زیپ در دلفی

برای خروج از حالت فشرده سازی یا دیکمپرس کردن فایل های Zlip می توانید از تابع زیر استفاده کنید :

procedure DecompressStream (aSource, aTarget: TStream) ;
var
decompStream: TDecompressionStream;
nRead: Integer;
Buffer: array [0..1023] of Char;
begin
decompStream := TDecompressionStream.Create(aSource);
try
repeat
nRead := decompStream.Read(Buffer, 1024);
aTarget.Write (Buffer, nRead);
until nRead = 0;
finally
decompStream.Free;
end;
end;

نکته: استفاده از عبارت Uses ZLib فراموش نشود.

مبنبعورودی های 82 دانشکده فنی اهر

آرایه در دلفی

سلام بعد از يه مدت وي بي نويسي نمي دونم با چه رويي دارم دلفي مينويسم .آخه دلفي نت ام پريده بود

دوباره نصب اش كردم.چطور يك آرايه در دلفي ايجاد كنيم

آرايه كه خودتون تقربآ واردين چيه!.يه سري متغير هم نام كه فقط انديس هلشون با هم فرق داره.وبه صورت زير تعريف مي شن

Var ArrayName:[MinIndex ..MaxIndex] Of ArrayType;

آرايه در جايي استفاده مي شه كه بخوايم با يه حلقه تمام متغيير هارو كنترل كنيم

(دستورات بالا در پاسكال هم قابل استفاده است)

مثال دقيق تعريف آرايه

Var Num:[1..12]Of Integer;

مثال يك برنامه كاربردي

Var

Num:[1..20]Of Integer;

G :Real;

I:Integer;

Begin

G:=Edit1.Text;

For i:= 1 to 20 Do

Begin

if Num[i]=G then Break;

Edit2.text:="Not Found!";

End ;

if Edit.text="" then Edit2.text:=Num[i];

End;

اميدوارم غلط نداشته باشه

آرايه ها مي توانند چندين بعد داشته باشند.آرايه هاي دو بعدي خيلي مرسومند.بيشتر از دو بعد زياد استفاده نمي شود چون كنترل آن سخت مي شه

با اين وجود دلفي توانايي ايجاد آرايه تا شصت بعد رو هم داره.آرايه چند بعدي به اين صورت تعريف مي شه

Var Num:[MinIndex..MaxIndex,MinIndex .. MaxIndex,...]Of Integer

حال يك مثال از آرايه د بعدي مي زنم چاپ جدول ضرب

Var

N1[1..10,1..10] Of Integer;

I,J:Integer

Begin

For i:=1 to 10 Do

For j:=1 to 10 Do Begin

N1 [i,j]:=i*j ;

Form1.Canvas.TextOut(i*20, j*20, inttostr(N1[i, j]));

End;End;

در تنظيم نوع آرايه مي توان از مجموعه و ركورد و حتي آرايه ي ديگر استفاده كرد

تمام آرايه هاي بالا استاتيك بودند .يعني طول انها ثابت بود اما اگر طول دقيق آرايه را در اول برنامه ندانيم

در اين صورت بايد از آرايه هاي ديناميك استفاده كنيم.در اين صورت طول آرايه را در اول برنامه نمي نويسيم

و در داخل برنامه آنرا مقدار دهي مي كنيم.مثال

Var

B1:Array Of Integer;

i:Integer;

Begin

For i:=1 to 10

Begin

B1:=Nil;

SetLength(B1,i);

End;End

در خط مشخص شده طول آرايه با مقدار صفر تا شمارنده حلقه برابر مي شود و در خط قبلش طول آرايه حذف مي گردد