امتیاز موضوع:
  • 48 رای - 2.65 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
XML در دلفی
نویسنده پیام
nasrinPoornejaty آفلاین
کاربر تازه وارد
*

ارسال‌ها: 41
تاریخ عضویت: Aug 2011
اعتبار: 0
.وضعیت من: هیچکدام
ارسال: #1
XML در دلفی
درود
چطور می توان در دلفی از فایل XML که معرف یک جدول است استفاده کرد؟؟؟
چطور می توان این فایل را به DBgrid و صل کرد ؟؟
چطور می توان روی این فایل گزارش گرفت و Query زد؟؟؟

لطفاً اگر کسی اطلاعاتی در این مورد داره کمک کنه
با سپاس
09-03-2011، 09:59 AM
ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #2
RE: XML در دلفی
درود
یعنی منظور شما این هست از جدول xml گذارش گرفت؟
چطور می توان این فایل را به DBgrid و صل کرد ؟؟
منظورتون به وصل کردن xml به dbgird بصورت مستقیم هست ؟
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:20 AM
وب‌سایت ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #3
RE: XML در دلفی
Export كردن اطلاعات به XML
انجام دادن اين كار از طريق ADO به راحتي استفاده از متد SaveToFile است.

به كد زير نگاهي بياندازيد:
کد:
ADOTable1.SaveToFile('C:\test.xml', pfXML);
همچنين با استفاده از كد زير مي توانيد فايل XML مربوطه را Load كنيد:
کد:
ADOTable1.LoadFromFile('C:\test.xml');')
البته به جاي pfXML مي توانيد از pfADTG مي توانيد استفاده كنيد كه در اين صورت اطلاعات در يك فايل به صورت Binary نوشته مي شود كه به موضوع مبحث ما ربطي ندارد.

Export كردن يك Table به XML با استفاده از ClientDataSet

براي انجام اين عمل با استفاده از ClientDataSet از مراحل زير استفاده كنيد:

1- يك كمپوننت TDataSetProvider (اين كمپوننت در تب DataAccess قرار دارد) بر روي فرم خود بگذاريد و با استفاده از پراپرتي DataSet آن را به Table يا Query و يا به طور كلي به Dataset مورد نياز خود متصل كنيد.

2- يك كمپوننت TClientDataSet (اين كمپوننت هم در تب DataAccess قرار دارد) بر روي فرم خود بگذاريد و مقدار ProviderName آن را برابر نام كمپوننت TDataSetProviderي قرار دهيد كه در مرحله 2 ساختيد.

3- به سادگي از متد زير استفاده كنيد:

کد:
ClientDataSet1.Active := True;

;(   ClientDataSet1.SaveToFile('C:\1.XML', dfXML)
پارامتر دوم متد SaveToFile مي توانيد شامل مقادير زير باشد: dfBinary, dfXML, dfXMLUTF8.

بررسي راجع به dfBinary به مبحث مقاله ما مربوط نمي شود.

حتما متوجه شده ايد كه تفاوت dfXML و dfXMLUTF8 چيست؟ dfXMLUTF8 براي Export اطلاعات به XML با فرمت Unicode استفاده مي شود. البته راههاي ديگري هم وجود دارد كه در نسخه هاي قديمي تر دلفي به كار مي آيند. اين مقاله از آقاي محمد باقر معموري به آدرس http://www.irandevelopers.com/ است

گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:23 AM
وب‌سایت ارسال‌ها پاسخ
nasrinPoornejaty آفلاین
کاربر تازه وارد
*

ارسال‌ها: 41
تاریخ عضویت: Aug 2011
اعتبار: 0
.وضعیت من: هیچکدام
ارسال: #4
RE: XML در دلفی
(09-03-2011، 10:20 AM)پارسا نوشته: درود
یعنی منظور شما این هست از جدول xml گذارش گرفت؟
چطور می توان این فایل را به DBgrid و صل کرد ؟؟
منظورتون به وصل کردن xml به dbgird بصورت مستقیم هست ؟

بله از جدولی که در فایل XML هست گزارش گرفت و Query زد .یا بصورت مستقیم یا غیر مستقیم .ما یک فایل XML داریم که اطلاعات یک جدول از دیتابیس خود را در این فایل بصورت زیر ریختیم
-
<TST.PACKAGE_DEP2>
- <Records>
<ID>1</ID>
<PACKAGE_NAME>BCKPACK2.AAA</PACKAGE_NAME>
<DSN>SRVC</DSN>
<INDEX_NAME>COMMON.CUSTOMER_ACCOUNT__IDX</INDEX_NAME>
<INDEX_COLUMN>CUSTOMER_ACCOUNT_ID,</INDEX_COLUMN>
<INSERT_DATE>08/16/2011 10:43:01</INSERT_DATE>
<TBNAME>CUSTOMER_ACCOUNT</TBNAME>
<TBCREATOR>COMMON</TBCREATOR>
</Records>
..........
حالا باید بتونم در این جدول (xml) چهار عمل select ، Update, Delete و Insert را انجام بدم.
من تمام این خطوطی را که شما زحمت کشیدید در اینترنت دیدم ، اما جواب سوال من نیست ، من فایل رو ایجاد کردم. مشکل در خواند این فایل ایجاد شده است.
(آخرین تغییر در ارسال: 09-03-2011، 10:33 AM توسط nasrinPoornejaty.)
09-03-2011، 10:25 AM
ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #5
RE: XML در دلفی
باید دلفی نصب کنم
نصب کردم پیوست میکنم
حتما برنامه باید با دلفی باشه؟
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:35 AM
وب‌سایت ارسال‌ها پاسخ
nasrinPoornejaty آفلاین
کاربر تازه وارد
*

ارسال‌ها: 41
تاریخ عضویت: Aug 2011
اعتبار: 0
.وضعیت من: هیچکدام
ارسال: #6
RE: XML در دلفی
بله حتماً باید دلفی7 باشه.
09-03-2011، 10:36 AM
ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #7
RE: XML در دلفی
من تو دلفی 2010 مینیویسم
اینم یه sample
کد:
var
    sl : TStringList;
    xmlDoc : TXMLDocument;
    iNode : IXMLNode;
begin
    xmlDoc := TXMLDocument.Create(nil) ;
    try
      xmlDoc.Active := true;

      iNode := xmlDoc.AddChild('leaf') ;
      iNode.Attributes['attrib1'] := 'value1';
      iNode.Text := 'Node Text';

      sl := TStringList.Create;
      try
        sl.Assign(xmlDoc.XML) ;

        sl.Insert(0,'<!DOCTYPE ns:mys SYSTEM "myXML.dtd">') ;
        sl.Insert(0,'<?xml version="1.0"?>') ;

        sl.SaveToFile('c:\Test.xml') ;
      finally
        sl.Free;
      end;

    finally
      xmlDoc := nil;
    end;
end;
  And here's the resulting XML:  <?xml version="1.0"?>
<!DOCTYPE ns:mys SYSTEM "myXML.dtd">
<leaf attrib1="value1">Node Text</leaf>
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:41 AM
وب‌سایت ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #8
RE: XML در دلفی
در سورس بالا از کامپونت TXMLDocument استفاده شده
insert add & save file در داخلش استفاده شده
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:42 AM
وب‌سایت ارسال‌ها پاسخ
nasrinPoornejaty آفلاین
کاربر تازه وارد
*

ارسال‌ها: 41
تاریخ عضویت: Aug 2011
اعتبار: 0
.وضعیت من: هیچکدام
ارسال: #9
RE: XML در دلفی
مشکلی نداره شما با دلفی 10 لطف ککنید بنویسید ، من از IXMLDOMDocument
استفاده کردم . کد من از Table می خونه و در یک فایل XML ذخیره می کنه . این کار رو انجام دادم. که در زیر آوردم :
function TForm1.makeXml(table: TTable): Integer;
var
i : Integer;
xml,temp : String;
begin
try
table.close;
table.open;
xml := table.TableName;
doc := CreateOleObject('Microsoft.XMLDOM')
as IXMLDomDocument;
root := doc.createElement(xml);
doc.appendchild(root);
while not table.eof do begin
child:= doc.createElement('Records');
root.appendchild(child);
for i:=0 to table.FieldCount-1 do begin
child1 := doc.createElement(table.Fields[i].FieldName);
child.appendchild(child1);
child1.appendChild(doc.createTextNode(temp));
end;
table.Next;
end;
doc.save(xml+'.xml');
memo1.lines.Append(doc.xml);
Result:=1;
except
on e:Exception do
Result:=-1;
end;

حالا می خوام بر اساس یک شرایط مثلا اگر ایندکس XX بود اطلاعات آن نود را در DBgrid نمایش بده .
09-03-2011، 10:51 AM
ارسال‌ها پاسخ
Amin_Mansouri آفلاین
مدیر کل سایت
*

ارسال‌ها: 4,842
تاریخ عضویت: Apr 2011
اعتبار: 158
.وضعیت من: Artistic
ارسال: #10
RE: XML در دلفی
در ضمن سورس بالا که گفتید پیدا کردید لینکشو درج کرده بودم زیرش .
شما باید xml رو کاملا فراخوانی کنید.
پیشنهاد میکنم لینک زیر رو کاملا مطالعه فرامیید.
بهترین sample برای دلفی xml هست.
ادرس لینک :
http://delphi.about.com/od/windowsshella...delphi.htm
موفق باشید
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
09-03-2011، 10:52 AM
وب‌سایت ارسال‌ها پاسخ


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  استفاده از اسکن اثر انگشت در دلفی amir_rezaee 0 1,271 06-06-2016، 09:20 AM
آخرین ارسال: amir_rezaee
  اجرای برنامه روی سیستمی که دلفی نصب نباشد nasrinPoornejaty 8 6,294 06-19-2013، 06:59 PM
آخرین ارسال: Saeed7007
  رنگی کردن رکوردهای استرینگ گرید در دلفی nasrinPoornejaty 8 8,450 06-12-2013، 08:13 PM
آخرین ارسال: Amin_Mansouri

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

تماس با ما | ParsiCoders (Persian Team) For Programming ,Security,Cracking,Network,Pars Civilization,Medical,Science,Entertaining | بازگشت به بالا | | حالت آرشیو | پیوند سایتی RSS
This forum uses Lukasz Tkacz MyBB addons.