View Full Version : سوال: دریافت مشخصات از DLL
ms-ninja
دوشنبه 08 مهر 1392, 21:50 عصر
با سلام
من میخوام یک فایل DLL کناربرنامه قرار بدم تا بعضي از اطلاعات از قبیل : لینک ، آی پی و.... رو از فایل بگیره
ولی به مشکل خوردم میخوام به شکل Split بزارم
Split(farshid, ":")(0)
با تشکر
meys34
دوشنبه 08 مهر 1392, 22:33 عصر
مشکل شما چیه؟ کدی که نوشتید درسته... بیشتر توضیح بدین... اگر ممکنه همراه با عکس...
ms-ninja
سه شنبه 09 مهر 1392, 14:23 عصر
فکر کنم واضح گفتم
من یک برنامه دارم می نویسم که میخوام بعضی از مشخصات رو از یک فایل DLL بگیره
به طور مثال
درون فایل DLL این اطلاعات وجود داره
Host1:192.168.1.60:808
میخوام برنامه این اطلاعات رو از این فایل DLL بگیره
Label1 = Split(farshid, ":")(0)
Label2=Split(farshid, ":")(1)
label3 = Split(farshid, ":")(2)
ms-ninja
جمعه 12 مهر 1392, 21:26 عصر
از دوستان کسی نیست کمک کنه
rahnema1
جمعه 12 مهر 1392, 23:07 عصر
از دوستان کسی نیست کمک کنه
فکر کنم سوال شما گویا نیست ولی حدسیات خودم رو می گویم ببین درست می گویم یا نه
حدس اول اینکه فایل dll شما یک فایل متنی است
حدس دوم اینکه در هر خط اون یک آی پی گذاشته ای
اگه اینجوری باشه
Dim farshid as String
Dim iFileNo as Integer
iFileNo = FreeFile
Open "C:\myfile.dll" For Input As #iFileNo
Do While Not EOF(iFileNo)
Input #iFileNo, farshid
Loop
Close #iFileNo
ms-ninja
شنبه 13 مهر 1392, 09:40 صبح
ممنون از جوابتون ولی این روشه فقط مقدار رو برای یک شی قرار میده
من میحوام splite کنه
dim dta as string
dta=inet1.openurl(www.google.com/tt.txt
winsock.remotehost = split(dta,":") (0)
winsock.remoteport = split(dta,":") (1)
rahnema1
شنبه 13 مهر 1392, 10:27 صبح
ممنون از جوابتون ولی این روشه فقط مقدار رو برای یک شی قرار میده
من میحوام splite کنه
dim dta as string
dta=inet1.openurl(www.google.com/tt.txt (http://www.google.com/tt.txt)
winsock.remotehost = split(dta,":") (0)
winsock.remoteport = split(dta,":") (1)
دوست عزیز من خودت که split رو بلدی کدش رو هم نوشتی
اونقدر کوتاه و فشرده توضیح می دی که معلوم نیست منظورت چیه
وقتی متن مورد نظر رو توی farshid قرار دادی دستور split رو اجرا کن
ms-ninja
شنبه 13 مهر 1392, 11:14 صبح
عزیز بحس ما تو فایل تکست بوده
در صورتی که من برای فایل DLL میخوام
rahnema1
شنبه 13 مهر 1392, 11:33 صبح
عزیز بحس ما تو فایل تکست بوده
در صورتی که من برای فایل DLL میخوام
اگه میتونی فایل dll رو آپلود کن ببینیم چه جوریه
ms-ninja
شنبه 13 مهر 1392, 11:38 صبح
چیز خاصی نداره . فقط توش یک IP و پورت داره
rahnema1
شنبه 13 مهر 1392, 12:12 عصر
چیز خاصی نداره . فقط توش یک IP و پورت داره
همون جوابی که قبلا دادم درست بود فایل dll شما جز یک فایل متنی چیزی نیست و از نوع باینری نیست در واقع یک فایل تکسته که پسوندش رو از txt به dll تغییر داده اید
Dim dta as String
Dim iFileNo as Integer
iFileNo = FreeFile
Open "C:\dta.dll" For Input As #iFileNo
Do While Not EOF(iFileNo)
Input #iFileNo, dta
Label1 = Split(dta, ":")(0)
Label2=Split(dta, ":")(1)
Loop
Close #iFileNo
rahnema1
شنبه 13 مهر 1392, 12:59 عصر
شاید گفتن این نکته هم لازم باشه فایل dta.dll توی یک فایل zip قرار داره شاید مشکل شما این باشه که قبل از اینکه با فایل dll کار کنید فایل zip رو اکسترکت نمی کنید
one hacker alone
شنبه 13 مهر 1392, 16:30 عصر
خدا خیرتون بده
شما نباید میگفتین dll چون پسوند فایل شما dll هست اما ساختارش dll نیست
شما باید فایل متنی رو بخونین بعد حالا وقتی خوندین محتویات رو یا در حافظه یا در textbox بریزین بعد حالا برای تفکیک داده ها میتونید از کاراکتر خواص استفاده کنید که اونوقت کار به همون اسپلیت میکشه یا اینکه هر داده در یک سطر باشه که خوندنش راحت میشه
ms-ninja
شنبه 13 مهر 1392, 16:50 عصر
الان خودم دارم به جوابم نگاه میکنم خندم میگیره .خیلی وقته دست به VB نبردم
حالا اگر بخوام یک سری اطلاعات رو از یک فایل تکست از اینترنت بگیره بعد تو این فایل dll ذخیره کنه چی؟
rahnema1
شنبه 13 مهر 1392, 18:01 عصر
الان خودم دارم به جوابم نگاه میکنم خندم میگیره .خیلی وقته دست به VB نبردم
حالا اگر بخوام یک سری اطلاعات رو از یک فایل تکست از اینترنت بگیره بعد تو این فایل dll ذخیره کنه چی؟
برای خواندن و نوشتن متن توی یک فایل به آدرس زیر مراجعه کنید
http://www.vbforums.com/showthread.php?342619-Classic-VB-How-can-I-read-write-a-text-file
برای دریافت یک فایل متنی از اینترنت و کار با اون به آدرس زیر مراجعه کنید
http://vbnet.mvps.org/index.html?code/internet/urldownloadtofile.htm
البته یک نکته نیز وجود داره که یک جا دیدم و اینکه تابع URLDownloadToFile فایل ابتدا دانلود می کنه و در cache ذخیره می کنه و هر بار که شما این تابع رو صدا می زیند از فایلی که توی cache ذخیره شده اسفاده می کنه خب اگه فایل تکستی که تو اینترنت قرار داره اصلا تغییر نمی کنه که هیچ چی اما اگه مرتبا تغییر می کنه این تابع رو که زیر نوشته شده در بالای برنامه declare کنید و قبل از اینکه از URLDownloadToFile استفاده کنید اون رو صدا بزنید:
Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" _ Alias "DeleteUrlCacheEntryA" _ (ByVal lpszUrlName As String) As Long
که آرگومان تابع هم url مورد نظرتونه
ms-ninja
جمعه 08 آذر 1392, 13:07 عصر
من یکجا به مشکل خوردم
192.168.1.2:8020:192.168.1.3:9020
مشخصات مثل بالا تو فایل dll است
Dim dta As String
Dim iFileNo As Integer
iFileNo = FreeFile
Open "dta.dll" For Input As #iFileNo
Do While Not EOF(iFileNo)
Input #iFileNo, dta
If (ServerListCmb.Text = "server1") Then
Info.Host = Split(dta, ":")(0) '912.168.1.2
Info.Port = Split(dta, ":")(1) '8020
End If
If (ServerListCmb.Text = "server2") Then
Info.Host = Split(dta, ":")(2) '912.168.1.3
Info.Port = Split(dta, ":")(3) '9020
End If
Loop
Close #iFileNo
ولی اررور میده ، میشه اطلاعات رو از دو خط جدا با split بخونه
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.