ايران ويج

نسخه‌ی کامل: محتویات فایل باینری
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
ممنون از پاسخ
چون با vb6 کار میکنم patch هم کاربرد ندارد. فایل XML هم باید توسط کاربر
ساخته شود شاید جالب نباشد از کابر بخواهیم هر بار که فایل ساختی با برنامه
کمکی اصلاحش کن تازه بعضی از فایل ها مشکلش حل نمی شود.باید دید xml notepad
در فایل چه چیزی را تغییر می دهد و آن تغیر حتما" در زمان کد نویسی راه حلی
دارد.
عکس های زیر فایل های باز شده در etabs میباشد.یکی بون اشکال و یکی هم
ایجاد چند صفر در وسط که قابل استفاده نیست (صفرهای آخر طبیعی است)[attachment=11740][attachment=11741]
من پست ها رو خوندم اما متوجه نشدم!

شما دو تا XML داري ،‌يكي رو خود ايتبز ساخته يكيش رو شما
حالا اوني كه شما ساختي مشكل داره؟

خوب جفتش رو بزار ببينيم فرقش چيه؟ بعدشم XML‌رو كه مي شه راحت ساخت كه ديگه باينري و اسكي نداره كه؟؟

اگر كمي بيشتر توضيح بدي شايد بتونم كمك كنم
[attachment=11742][attachment=11743]ممنون
چون شما با نرم افزار ایتبز کار نکردید شاید کمی ابهام وجود داشته باشد.
ایتبز فایل xml نمیسازد خروجی آن چیز دیگری است.فایل xml به نوعی بانک اطلاعات
است که توسط آن مشخصات مورد نیاز را میخواند.در ورژن های قبلی این اطلاعات
در فایل باینری ضبط میشد که سوالات اسکی موضوع پست های قبلی است. اما در ورژن جدید این اطلاعات
را فقط از فایل xml دریافت میکند.فایل های xml هم توسط برنامه خودم ساخته میشود.
امیدوارم توضیحات گویا باشد اگر هم نیست لطفا" بگید تا توضیح بدم
در پیوست 4 عدد xml به شرح زیر وجود دارد :
xm1 و xm2 بدون هیچ اصلاحی(save شدن درxml notepad )که اصلا" قابل شناسائی در ایتبز نیست.
xm3 و xm4 توسط notepad اصلاح شده و در ایتبز شناسائی می شوند با این فرق که
xm3 بدون نقص بوده ولی xm4 یکسری اعدادتبدیل به صفر شده است.(عکس های پست قبل)
هر 4 فایل هم در ویرایشگر های مختلف xml باز میشوند و با چک شدن توسط آنها هیچگونه ارور
وجود ندارد.عکس هم از یکی از برنامه های مقایسه کننده که فایل های xm1 و xm3 (بدون اشکال بعد از اصلاح)
مقایسه شده اند.
فايل شماره 1 و 2 توسط برنامه قابل خوندن نيستند چون تگ ها به صورت استاندارد و زير هم نوشته نشدن بلكه همه تو يه خط هستند

البته خيلي از برنامه ها مي تونن چنين فايل XML رو بخونن ولي ظاهرا ايتبز از اون برنامه هاش نيست!!

فايل شماره 3 و 4 گرچه از نظر فرمت و ساختار شبيه به هم هستند اما از نظر فيلدها و مقاديري كه داخلشون قرار داره كاملا

با هم فرق دارن و طبيعيه كه برنامه بعد از خوندن اطلاعات داخل اونها نتايج متفاوتي رو هم به دست بياره.

بنابراين من مشكل خاصي نمي بينم،‌فقط بايد موقع پر كردن فايل XML تگ ها رو به صورت استاندارد و زير هم بنويسيد و دقت

كنيد اعداد و فيلدهايي كه مي خواين ذخيره كنيد درست و كامل باشن.
با سلام
دوست عزیز
پس در هنگام کد نویسی میتوان کاری کردتا فایل قابل شناسائی باشدو notepad
هم تنهار کاری که انجام میدهد خطوط را زیر هم می نویسد. ممنون تا اینجا کمک
بزرگی برای من بود.احتمالا" باید از دستور VB-LINE استفاده شود اگر هم یک
نمونه از کد نویسی با vb6 داشته باشد لطفا" قرار دهید.
فایل ها هم می توانند تا بی نهایت فیلد داشته باشند برای سبک شدن کار فقط یک
فیلد گذاشتم و با وجودی که تمام پارامترها وجود دارد معلوم نیست چرا بعضی از
پارامتر ها در ایتبز صفر نشان داده می شود.
كد زير رو براي نمونه قرار دادم اما بايد براي ساخت فايل XML يك الگوريتم و روتين تعريف كنيد تا اطلاعات رو به طور خودكار از برنامه شما بخونه و داخل فايل XML ذخيره كنه

کد php:
Private Sub Command1_Click()
Open "D:\test.XML" For Append As 1#
Print #1, "<?xml version=" & Chr(34) & "; 1#; " & Chr(34) & " encoding=" & Chr(34) & "; utf - 8; " & Chr(34) & " ?>"
Print #1, ""
Print #1, "<PROPERTY_FILE xmlns=" & Chr(34) & "http://www.csiberkeley.com" & Chr(34) & _
vbNewLine & "xmlns: xsi = " & Chr(34) & "http://www.w3.org/2001/XMLSchema-instance" & _
Chr(34) & vbNewLine & " xsi:schemaLocation=" & Chr(34) & _
"http://www.csiberkeley.com CSIExtendedSectionPropertyFile.xsd" & Chr(34) & ">"

Print #1, ""
Print #1, vbTab & "<CONTROL>"
Print #1, vbTab & vbTab & "<FILE_ID>CSI Frame Properties</FILE_ID>"
Print #1, vbTab & vbTab & "<VERSION>1</VERSION>"
Print #1, vbTab & vbTab & "<DESCRIPTION>EURO</DESCRIPTION>"
Print #1, vbTab & vbTab & "<LENGTH_UNITS>mm</LENGTH_UNITS>"
Print #1, vbTab & "</CONTROL>"

Close #1
End Sub 

در مورد اون دو تا تصوير برنامه و دو تا فايل XML كه گفتيد ،‌لطفا دقيقا عكس برنامه مربوط به هركدوم و فايل XML كاملشون رو

قرار بده تا علت صفر شدن برخي مقادير رو پيدا كنيم اما همچنان حدس مي زنم برخي فيلدها در يكي از فايلها وجود نداره يا

خراب شده و زماني كه در فرمول قرار مي گيره چون مقدارش صفر هست كل اون مقدار رو صفر مي كنه.
با سلام
DiDi عزیز
در واقع شما کد ها را با دستور پرینت و زیر هم می نویسید. من از رفرنس
microsoft xml v6.0 استفاده می کنم و به همین دلیل خطوط در یک سطر نوشته می شود.
به نظر شما کدام روش بهتر می باشد.دستورات vbnewline و vbtab را چطور باید
به کدها اضافه کنم.
کد:
Option Explicit

Private Sub Command1_Click()

Dim xmlProcessingInstruction As MSXML2.IXMLDOMProcessingInstruction
Dim MyDoc As New DOMDocument
Dim EMP As IXMLDOMElement

Set xmlProcessingInstruction = MyDoc.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'")
MyDoc.appendChild xmlProcessingInstruction
Set xmlProcessingInstruction = Nothing

Set EMP = MyDoc.createElement("PROPERTY_FILE")
MyDoc.appendChild EMP
   EMP.setAttribute "xmlns", "http://www.csiberkeley.com"
   EMP.setAttribute "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"
   EMP.setAttribute "xsi:schemaLocation", "http://www.csiberkeley.com CSIExtendedSectionPropertyFile.xsd"

EMP.appendChild MyDoc.createComment(" Made By IranPro V1.5.0     For Test Only  ")

MakeControl EMP, "CSI Frame Properties", "1", "Persian Sections", "Cm"

MyDoc.save "D:/Myxml.xml"
End Sub

Public Sub MakeControl(ByVal parent_node As IXMLDOMElement, ByVal StrFlId As String, ByVal StrVer As String, _
ByVal StrDesc As String, ByVal StrUnt As String)
Dim Contr As IXMLDOMElement
Dim FilId As IXMLDOMElement
Dim Vers As IXMLDOMElement
Dim Descr As IXMLDOMElement
Dim Unt As IXMLDOMElement

Set Contr = parent_node.ownerDocument.createElement("CONTROL")
parent_node.appendChild Contr

Set FilId = parent_node.ownerDocument.createElement("FILE_ID")
Contr.appendChild FilId
FilId.appendChild parent_node.ownerDocument.createTextNode(StrFlId)

Set Vers = parent_node.ownerDocument.createElement("VERSION")
Contr.appendChild Vers
Vers.appendChild parent_node.ownerDocument.createTextNode(StrVer)

Set Descr = parent_node.ownerDocument.createElement("DESCRIPTION")
Contr.appendChild Descr
Descr.appendChild parent_node.ownerDocument.createTextNode(StrDesc)

Set Unt = parent_node.ownerDocument.createElement("LENGTH_UNITS")
Contr.appendChild Unt
Unt.appendChild parent_node.ownerDocument.createTextNode(StrUnt)

End Sub
[attachment=11768]ضمن سلام به دوستان
برای پی بردن به ساختار فایلها(هرنوع فایلی که باشد)
یک برنامه کمکی بسیار مفید بنام A.X.E وجود دارد
که از روی ان به رمز و رموز فایل می توان دسترسی داشت
واز طریق vb.net یا غیره انرا ایجادکرد
موفق باشید
صفحه‌ها: 1 2