PDA

View Full Version : سوال: باز کردن تنها یک خط از یک متن نوت پد در تکست باکس



Alireza Pro
چهارشنبه 08 شهریور 1391, 15:59 عصر
یه سوال داشتم :اشتباه:

من تو یکی از برنامه هام نیاز دارم که متنی رو از یک فایله نوت پد بگیرم
ولی نیاز به این دارم که فقط خط دوم از نوت پد به تکست باکس من بره

مثلا
نوت پد:افسرده:
salam
khubi?

تکست باکس:افسرده:
khubi?

این مشکله منه از این کد استفاده می کنم ولی نمی دونم چطوری باید بهش فهموند که از خط دوم شروع کنه


Open "c:\acct\1.txt" For Input As #1
Line Input #1, b
Print b
Close #1

می دونم که این کد خیلی اشتباه داره و می شه نوت پد رو اول به تکست باکس برد بعد تو اون جا به دو خط تقسیمش کرد و بعد به یه تکست باکس دیگه برد :گریه:


ولی محیط برنامه ای که من نوشتم اجازه ی این کار رو نمی ده

arenaw
چهارشنبه 08 شهریور 1391, 17:25 عصر
سلام
لازم نیست حتما اول کل فایلو بخونید بعد خط دومشو جدا کنید و بیارید تو تکست باکس :

Dim s As String, i As Integer
Open "FilePath" For Input As #1
Do While Not EOF(1)
i = i + 1
Line Input #1, s
If i = 2 Then
Text1.Text = s
Exit Do
End If
Loop

Alireza Pro
چهارشنبه 08 شهریور 1391, 21:35 عصر
بسیار عالی من کلی روش فکر کردم ولی به نتیجه نرسیدم البته بگم من مبتدی هستم

راستی چرا شما از این عبارت استفاده نکردید
Close #1

Mr'Jamshidy
چهارشنبه 08 شهریور 1391, 22:13 عصر
بسیار عالی من کلی روش فکر کردم ولی به نتیجه نرسیدم البته بگم من مبتدی هستم

راستی چرا شما از این عبارت استفاده نکردید
Close #1

احتمالا دوستمون فراموش کرده

شما خودت اضافه کن

Alireza Pro
پنج شنبه 09 شهریور 1391, 00:25 صبح
آخه بدونه اون عبارت هم کار میکنه
نمی دونم چرا ؟؟؟
:متعجب:

ASedJavad
پنج شنبه 09 شهریور 1391, 00:34 صبح
چون شما میتونی فایل رو تا آخر برنامت باز نگه داری بدون اینکه مشکلی پیش بیاد
وقتی برنامت بسته شد، اون فایل رو هم خودبخود میبنده

و وقتی بدون اون عبارت ارور میده که شما بخواین دوباره، همون فایلی که باز هست رو باز کنید

Alireza Pro
پنج شنبه 09 شهریور 1391, 11:10 صبح
حالا که پروژه ی من تا این جای کار خیلی خوب کار می کنه حالا اگه طبق چیزی که شما می گید
من خط دوم رو طبق ای الگوریتم باز کردم می تونم به کمک بدونه این که
Close #1
روبزنم دوباره تو ادامهی برنامه خط سوم رو هم باز کنم

یعنی در کل این الگوریتم درسته یا توی ادامهی کار ارور می ده و مشکل ساز می شه
Dim s As String, i As Integer
Open "FilePath" For Input As #1
Do While Not EOF(1)
i = i + 1
Line Input #1, s
If i = 2 Then
Text1.Text = s
Exit Do
End If

Do While Not EOF(1)
i = i + 1
Line Input #1, s
If i = 3 Then
Text1.Text = s
Exit Do

Loop

arenaw
پنج شنبه 09 شهریور 1391, 12:02 عصر
اگه مثلا میخواید خط سوم رو یه جا دیگه بیارید (و همینطور تا آخر) میشه کدنویسی رو کمتر کرد :

Do While Not EOF(1)
i = i + 1
Line Input #1, s
Select Case i
Case 1
'...
Case 2
Text1.Text = s
Case 3
'...
End Select
Loop

و تو دستورات هر خطی که آخرین خط مد نظر شماست میتونید از Exit Do استفاده کنید تا سرعت برنامه بیشتر بشه
چون اگر نکنید تا آخر فایل هی خونده میشه و هی پاک میشه از حافظه (ولی اگرم استفاده نکردید هیچ اتفاق خاصی نمیافته)
راجع به اون Close #1 هم همینطور که دوستان گفتند، اگر شما این فایل رو نبندید در هر صورت وقتی برنامه بسته بشه، فایل هم بسته میشه ولی دیگه تا قبل از بسته شدن برنامه نمیتونید این فایل رو از اول Open کنید