PDA

View Full Version : سوال: دریافت مشخصات از DLL



ms-ninja
دوشنبه 08 مهر 1392, 20:50 عصر
با سلام

من میخوام یک فایل DLL کناربرنامه قرار بدم تا بعضي از اطلاعات از قبیل : لینک ، آی پی و.... رو از فایل بگیره
ولی به مشکل خوردم میخوام به شکل Split بزارم



Split(farshid, ":")(0)


با تشکر

meys34
دوشنبه 08 مهر 1392, 21:33 عصر
مشکل شما چیه؟ کدی که نوشتید درسته... بیشتر توضیح بدین... اگر ممکنه همراه با عکس...

ms-ninja
سه شنبه 09 مهر 1392, 13: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, 20:26 عصر
از دوستان کسی نیست کمک کنه

rahnema1
جمعه 12 مهر 1392, 22: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, 08: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, 09: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, 10:14 صبح
عزیز بحس ما تو فایل تکست بوده

در صورتی که من برای فایل DLL میخوام

rahnema1
شنبه 13 مهر 1392, 10:33 صبح
عزیز بحس ما تو فایل تکست بوده

در صورتی که من برای فایل DLL میخوام

اگه میتونی فایل dll رو آپلود کن ببینیم چه جوریه

ms-ninja
شنبه 13 مهر 1392, 10:38 صبح
چیز خاصی نداره . فقط توش یک IP و پورت داره

rahnema1
شنبه 13 مهر 1392, 11: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, 11:59 صبح
شاید گفتن این نکته هم لازم باشه فایل dta.dll توی یک فایل zip قرار داره شاید مشکل شما این باشه که قبل از اینکه با فایل dll کار کنید فایل zip رو اکسترکت نمی کنید

one hacker alone
شنبه 13 مهر 1392, 15:30 عصر
خدا خیرتون بده
شما نباید میگفتین dll چون پسوند فایل شما dll هست اما ساختارش dll نیست
شما باید فایل متنی رو بخونین بعد حالا وقتی خوندین محتویات رو یا در حافظه یا در textbox بریزین بعد حالا برای تفکیک داده ها میتونید از کاراکتر خواص استفاده کنید که اونوقت کار به همون اسپلیت میکشه یا اینکه هر داده در یک سطر باشه که خوندنش راحت میشه

ms-ninja
شنبه 13 مهر 1392, 15:50 عصر
الان خودم دارم به جوابم نگاه میکنم خندم میگیره .خیلی وقته دست به VB نبردم

حالا اگر بخوام یک سری اطلاعات رو از یک فایل تکست از اینترنت بگیره بعد تو این فایل dll ذخیره کنه چی؟

rahnema1
شنبه 13 مهر 1392, 17: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, 12: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 بخونه

با تشکر