انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: برنامه نویسی با Lazarus (پست اول ویرایش شد ۹۳/۰۴/۲۳ )  (دفعات بازدید: 203920 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #45 : 27 آبان 1391، 11:33 ب‌ظ »
دوستان محترم اگر موافقید چنین تاپیکی در مورد گامباس ۲ و ۳ نیز ایجاد کنیم و در مورد اون زبان هم بحث کنیم :) .
خوشحال میشم. البته به عنوان یک خواننده چون من هیچی از گامباس نمیدونم. :D

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #46 : 29 آبان 1391، 05:47 ب‌ظ »

سلام

من دوباره پست ها رو خوندم ومطالب یادآوری شد.
برای کار با اینترنت و شبکه در لازاروس از کدوم کامپوننت ها استفاده میکنن؟(فک کنم توی دلفی Indy بود)
و ما میطوانیم

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #47 : 29 آبان 1391، 11:14 ب‌ظ »
سلام
بله حق با شماست ولی من زیاد با indy کار نکردم. بیشتر با پایگاه های اطلاعاتی آشنا هستم.
یادمه بیشترین کاری که اون وقتا با indy کردم ساختن یه برنامه چت بود که تو دوتا سیستم به صورت متنی میشد پیام فرستاد یا دریافت کرد.
تو لازاروس هم indy وجود داره .
http://indy4lazarus.sourceforge.net/
البته فکر می کنم کامپوننت های دیگه ای هم جایگزین اونها باشه . یه سایتی قبلا خوندم که کامپوننت ها رو تو دلفی و لازاروس مقایشه کرده بود الان یادم نیست اگه پیداش کردم حتما میزارم برات.
موفق باشی  ;)

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #48 : 30 آبان 1391، 07:25 ب‌ظ »

سلام

برای اتصال با پایگاه داده (در اینجا My sql) کدوم کامپوننت ها رو باید روی فرم DBGrid قرار بدم؟

من فایل zeoslib.tar.gz رو دانلود کردم (در حین باز شدن خطا داد) برای اتصال پایگاه داده لازمه؟

تشکر از لطف شما
و ما میطوانیم

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #49 : 01 آذر 1391، 07:48 ق‌ظ »
سلام
اون نسخه که تو صفحه اول قرار دادم ۷ هست و هنوز به حالت stable نرسیده.
میتونید ویرایش ۶.۷ رو از لینک زیر دانلود کنید
http://sourceforge.net/projects/zeoslib/files/Zeos%20Database%20Objects/snapshots/
یا به لینک زیر مراجعه کنید
http://zeosdownload.firmos.at/downloads/snapshots

ویرایش های زیادی تو این لینک هست از testing تا stable . فایل zip رو دانلود کن و بعد از حالت فشرده خارج کنید و از منوی package گزینه open pakage file رو انتخاب کن بعد به پوشه لازاروس تو فایلهای zeos برو و فایل zcomponent.lpk رو باز کن و بعد compile رو بزن اگه پیام خطا نداد گزینه install و در نهایت rebuild lazarus رو بزن بعد از چند دقیقه لازاروس باز می شود و این کامپوننت رو تو ابزار ها خواهی داشت.
تو لینک زیر اطلاعاتی از نحوه نصب این کامپوننت و چنتا مثال میتونی ببینی
http://wiki.freepascal.org/Zeos_tutorial
برای اتصال باید یک شئ zconnection و یک شئ tabale یا query روی فرمت قرار بدی. تنظیمات connection رو باید انجام بدید و بعد میتونید به پایگاه متصل بشید.(تو شکل زیر میبینید)
باید clientcodepage رو در حالت utf8 بزارید و نام پایگاه رو در قسمت database و پورت(برای mysql) رو ۳۳۰۶ و پروتکول رو در حالت mysql-5 قرار بدید و سپس نام کاربری و کلمه عبور رو در قسمت های user و password وارد کنید.

اگه همه این تنظیمات درست باشه و سرور mysql هم در دسترس باشه وقتی گزینه connected رو به حالت true قرار بدید نباید پیام خطایی بده و به همین حالت بمونه یعنی شما به پایگاه داده وصل شدید  :D .
در قدم بعدی شئ table رو قسمت connection رو روی zconnection که روی فرم گذاشتید قرار بدید و نام جدولی از پایگاه که اطلاعات اون رو می خواهید در قسمت table name تنظیم کنید و سپس گزینه active اون رو روی حالت true قرار بدید.
بعد از قسمت ابزارهای data access یک شئ data source روی شئ قرار بدید و گزینه data set اون رو نام شئ جدولی که روی فرم گذاشته اید تنظیم کنید و در آخر یک شئ dbgrid از قسمت data contorol روی فرم قرار بدید و قسمت datasource اونو به نام datasource که روی فرم هست تنظیم کنید.
اینجوری اطلاعات جدول باید توی اون dbgrid نشون داده بشه.
ببخشید طولانی شد سعی کردم ساده توضیح بدم تا اگه کسی آشنا نباشه هم بتونه استفاده کنه.
یا حق

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #50 : 01 آذر 1391، 12:35 ب‌ظ »

سلام

با تشکر

بسیار مفید بودن .
1- فایل ZEOSLIB_STABLE_REV922.zip رو از لینک دوم دانلود کردم و متاسفانه  در حین کامپایل خطا داد؟این خطای زیر رو توی بخش Messages نشون میده:


G:\programming\Lazrus_P\DataBase\ZEOSLIB_STABLE_REV922\src\core\ZClasses.pas(90,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found


که توی zclass روی خط 
TContainedObject = class(TAggregatedObject, IInterface)
رنگی (های لایت)میشه؟

نصب هم نشد؟ شما تا حالا برخورد داشتین؟

 
2- مثل دلفی برای اتصال به پایگاه داده query نمی نویسیم؟ (منظورم همون کدنویسی در فرمیه که DbGrid داره)
من کد نویسیش رو دوس دارم؟

3- تفاوت اتصال به پایگاه داده با کامپوننت  zcomponent و در حالتی که از کامپوننت هایی مثل
SQLTransaction
SQLQuery
IBConnection
Datasource

استفاده میکنیم در چیه؟


سپاس فراوان بابت صبرو حوصله ای به خرج میدین.
و ما میطوانیم

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #51 : 01 آذر 1391، 01:33 ب‌ظ »
سلام

1- فایل ZEOSLIB_STABLE_REV922.zip رو از لینک دوم دانلود کردم و متاسفانه  در حین کامپایل خطا داد؟این خطای زیر رو توی بخش Messages نشون میده:


G:\programming\Lazrus_P\DataBase\ZEOSLIB_STABLE_REV922\src\core\ZClasses.pas(90,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found


که توی zclass روی خط 
TContainedObject = class(TAggregatedObject, IInterface)
رنگی (های لایت)میشه؟

نصب هم نشد؟ شما تا حالا برخورد داشتین؟

آره منم همچین خطاهایی دیده بودم. بهتره از اون لینکی که از sourceforge دادم دانلود کنید این لینک دوم زیاد توصیه نمیشه.ممکنه همچین خطاهایی بده(باید تو فایل zclass.pas یه تغیراتی بدید که درست بشه- راستش من یکبار تو اینترنت کدش رو پیدا کردم ولی الان خاطرم نیست)
از همون لینک اول preview-ZEOSDBO-6.6.7-stable رو دانلود کنید بدون خطا کامپایل و نصب میشه.(ویرایش ۷ رو اگه خواستی باید trunk رو دانلود و نصب کنی )
2- مثل دلفی برای اتصال به پایگاه داده query نمی نویسیم؟ (منظورم همون کدنویسی در فرمیه که DbGrid داره)
من کد نویسیش رو دوس دارم؟
منظورتون رو درست متوجه نمیشم.برای گرفتن اطلاعات مثل دلفی ۲ راه ساده اینه که یا از شئ table استفاده کنید که کد نویسی sql نمیخواد و یا از Query که باید تو sql code اون کدی که می خواهید رو بنویسید مثل select * from ...
اگه منظورتون محیط کدنویسی برای پایگاه داده هستش که اینجا نمیشه باید mysql workbench رو نصب کنید و تو محیط اون کدنویسی پایگاه داده رو انجام بدید . بعد میتونید کدهای تولیدی رو توی شئ Query کپی کنید یا با یک دستور اونو از پایگاه فراخوانی کنید.
3- تفاوت اتصال به پایگاه داده با کامپوننت  zcomponent و در حالتی که از کامپوننت هایی مثل
SQLTransaction
SQLQuery
IBConnection
Datasource

استفاده میکنیم در چیه؟
راستش رو بگم کار کردن با اونها به راحتی zcomponent نیست و کد نویسی مشکل تری دارن برا همین نرفتم سراغشون و چیز زیادی در موردشون نمیدونم. هدفم اتصال به پایگاه داده بود که با zcomponent به هدفم رسیدم .

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #52 : 01 آذر 1391، 01:41 ب‌ظ »
راستی فراموش کردم ازت تشکر کنم.
چند وقت پیش سوالی از indy تو دلفی ازم پرسیدی که رفتم سراغ خاطرات گذشته. :)
به چنتا نتیجه جدید دست پیدا کردم  \\:D/
خیلی وقته بچه های فروم از نبود یک دانلود منجیر گرفیکی تو گنو/لینوکس شکایت های زیادی می کردن.(چیزی شبیه IDM )
من ۲ تا شئ جدید برای لازاروس پیدا کردم که فکر کنم بشه یاهاشون یک برنامه دانلودر گرفیکی درست کرد.
http://curlpas.sourceforge.net/curlpas/index.html
http://synapse.ararat.cz/doku.php
از این وتا لینک دوم سایت بهتری هستش و هنوز هم داره توسعه پیدا میکنه. دانلود کردم و نصبش کردم و دارم سعی می کنم بفهمم دانلودر ها چطور کار می کنن و چه روندی رو طی می کنند.
تا الان به نتایج جالبی رسیدم. ;D هنوز خیلی مونده به یک دانلودر ساده برسم ولی شاید یک روزی تونستم یک دانلودر گرافیکی خوب برای کاربرای گنو/لینوکس بنویسم.
الان تنها مشکلم وقته و فرصت تحقیق و بررسی و تست و کدنویسی . 8)
یا حق

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #53 : 01 آذر 1391، 05:26 ب‌ظ »

سلام

با تشکر از لطفتون

کارهایی که گفتین رو امتحان میکنم تا ببینم چی میشه.

نقل‌قول
راستی فراموش کردم ازت تشکر کنم.
ما باید از شما تشکر کنیم.

موفق باشید.
و ما میطوانیم

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #54 : 01 آذر 1391، 06:01 ب‌ظ »

سلام


نقل‌قول
منظورتون رو درست متوجه نمیشم.برای گرفتن اطلاعات مثل دلفی ۲ راه ساده اینه که یا از شئ table استفاده کنید که کد نویسی sql نمیخواد و یا از Query که باید تو sql code اون کدی که می خواهید رو بنویسید مثل select * from ...
اگه منظورتون محیط کدنویسی برای پایگاه داده هستش که اینجا نمیشه باید mysql workbench رو نصب کنید و تو محیط اون کدنویسی پایگاه داده رو انجام بدید . بعد میتونید کدهای تولیدی رو توی شئ Query کپی کنید یا با یک دستور اونو از پایگاه فراخوانی کنید.

ببینید منظورم اینه که من بخوام مثل شما توی اون عکسی که قرار دادین کد نویسی کنم.مثل حالت عادی در دلفی (که خودم نمونش رو گذاشتم)؟

نقل‌قول
یا از Query که باید تو sql code اون کدی که می خواهید رو بنویسید مثل select * from ...

منظورم این جور کد نویسیه.یعنی برای نمایش اطلاعات در dbgrid کدنویسی انجام بدم.

تشکر
و ما میطوانیم

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #55 : 01 آذر 1391، 09:56 ب‌ظ »
سلام


نقل‌قول
آره منم همچین خطاهایی دیده بودم. بهتره از اون لینکی که از sourceforge دادم دانلود کنید این لینک دوم زیاد توصیه نمیشه.ممکنه همچین خطاهایی بده(باید تو فایل zclass.pas یه تغیراتی بدید که درست بشه- راستش من یکبار تو اینترنت کدش رو پیدا کردم ولی الان خاطرم نیست)
از همون لینک اول preview-ZEOSDBO-6.6.7-stable رو دانلود کنید بدون خطا کامپایل و نصب میشه.(ویرایش ۷ رو اگه خواستی باید trunk رو دانلود و نصب کنی )


من از اون پست قبلی تا الان (ساعت تقریبا 10) دارم میگردم و هیچ راه حلی برای این خطا نبوده.جز یک خطا از همین نوع که بصورت باگ توسط یکی از کاربراشون (فروم لازاروس) رپورت شده و راه حلی براش نبوده؟ شما چه جوری تونستید نصبش کنید؟ (جز فروم لازاروس منبع خوبه دیگه ای من ندیدم و همشون به همین ختم میشن)

 این preview-ZEOSDBO-6.6.7-stable , ZEOSDBO-6.6.6-stable ،ZEOSLIB_STABLE_REV922 رو دانلود کردم.تو همه همین خطا رو میده؟

قضیه trunk چیه دیگه؟
« آخرین ویرایش: 01 آذر 1391، 10:03 ب‌ظ توسط aliboy »
و ما میطوانیم

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #56 : 02 آذر 1391، 09:50 ب‌ظ »

سلام

اون خطا چیز خاصی نبود.

نقل‌قول
از همون لینک اول preview-ZEOSDBO-6.6.7-stable رو دانلود کنید بدون خطا کامپایل و نصب میشه.

باید ورژن  جدید یعنی 7 نصب میشد قدیمی ها خطا میدن !نسخه قدیم جواب نمیده کدی هم نمیخواد.
و ما میطوانیم

آفلاین امیر شهریاری

  • Sr. Member
  • *
  • ارسال: 323
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #57 : 03 آذر 1391، 08:04 ق‌ظ »
باید ورژن  جدید یعنی 7 نصب میشد قدیمی ها خطا میدن !نسخه قدیم جواب نمیده کدی هم نمیخواد.
سلام
خوشحالم موفق شدی  ;) من چون قبلا از نسخه 6.6.7 تو لازاروس 9.30.4 استفاده می کردم فکر می کردم باید جواب بده ;D
نسخه 7 رو از کدوم لینک گرفتی؟ trunk ؟
میدونی فکر می کنم trunk نسخه ای هست که توسعه دهنده ها از اون استفاده می کنند و باگ های اون نسخه رو رفع می کنند و وقتی به یه حد خوبی رسید به عنوان نسخه بعد منتشر میشه.
برای کد نویسی همه اون کارهایی که تو پست قبل گفتم میتونید تو محیط کدنویسی انجام بدید و توی اشیا چیزی رو تنظیم نکنید و از طریق کدنویسی خاصیت های اونها رو مقدار دهی کنی و بعد ازشون استفاده کنی.
مثلا شیء zconnection برای اتصال خاصیت hostname,port,user,password,database,codepage رو از طریق کدنویسی مقدار میدید
zconnection1.hostname:='localhost';و الی آخر و بعد خاصیت connected اون رو به حالت true تغییر بدید تا اتصال انجام بشه.
راستی فراموش نکنی برای mysql اگه پایگاه رو سیستم خودت نیست  باید mysql-client-dev رو سیستم از طریق مخازن نصب باشه تا بتونه به پایگاه متصل بشه
موفق باشی  :)

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #58 : 03 آذر 1391، 01:12 ب‌ظ »
سلام

با تشکر از لطف شما.

نقل‌قول
نسخه 7 رو از کدوم لینک گرفتی؟ trunk ؟
ZEOSDBO-7.0.1-beta
مشکل پکیج جدید اینه که بعد از هر خاموش و روشن شدن کامپیوتر حذف میشه و پایداریش در همین حد شده.مجبورم نسخه های دیکه رو هم نصب کنم.ببینم چی میشه.
حجمش حدود 2 مگابایت بود.
از اینجا گرفتم:
http://zeos.firmos.at/portal.php

تو تاپیک اولش در مورد همون ورژن های جدید نوشته و لینک داده.

فعلا لازاروس رو توی ویندوز دارم کار میکنم تا با محیطش بیشتر آشنا بشم بعد میرم روی اوبونتو.درایوری که گفتین توی ویندوز libmysql.dll رو هم نصب کردم. Zconnection دیگه خطا نمیده.
به جای شئی table یه TZquery (اگه اسمش درست باشه) گذاشتم دارم کد مینویسم تقریبا مثه همون دلفیه.فعلا با این شئی به خطا برخورد کردم.
 mysql workbench رو هم نصب کردم خیلی جالب بود.یه اتصال به دیتابیس ساختم.


سپاس
« آخرین ویرایش: 16 آذر 1391، 04:23 ب‌ظ توسط aliboy »
و ما میطوانیم

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : برنامه نویسی با Lazarus
« پاسخ #59 : 06 آذر 1391، 08:13 ب‌ظ »

سلام


سلام

تشکر
تا اینجا که داره خوب پیش میره  :)

یه سوال فنی؟

من اگه بخوام query های دیتابیس رو اجرا کنم مثل شما تو مثالی که گذاشتین از کدوم کامپوننت باید استفاده کنم؟ TZquery یا ZUpdateSQL1 ؟


فک کنم TZquery  محدودیت داره و میگه دستوررات sql رو باید در ستون properties توی بخش SQL (روش کلیک میکنیم کادر باز میشه و میتونیم دستور نویسیم) بنویسیم، ولی من میخوام توی فرم دستور بنویسم مثلا توی oncreate فرم؟



ZQuery1.SQL.Clear;
  ZQuery1.SQL.Add('SELECT * FROM amahi.persian');
 ZQuery1.ExecSQL;

مثلا  دستور اس کیو ال بالا اجرا نمیشه اما هر وقت همین دستور اس کیو ال رو توی بخش SQL کامپوننت TZquery کپی کنم کار میکنه؟

 
نمی دونم درست منظورم رو بیان کردم یا نه؟

سپاس

و ما میطوانیم