ورود

View Full Version : مبتدی: شناختن خودکار آدرس فایل ها



hmgjob
شنبه 24 آبان 1393, 08:53 صبح
سلام
من وقتی از تصاویر در برنامه ام استفاده می کنم آدرس تصاویر را در بانک اطلاعاتی وارد می کنم.
بعد وقتی برنامه را می خواهم روی یک کامپیوتر دیگر اجرا کنم مجبورم دقیقا پوشه برنامه را در همان درایوی که در بانک اطلاعاتی آدرس دهی کردم بریزم.
آیا روشی برای خلاص شدن از این مشکل وجود دارد که پوشه برنامه را در هر درایوی که ریختم یا حتی از روی سی دی و فلش قابل اجرا باشد.
خواهشمندم به طور کامل توضیح فرمایید. با تشکر

hamed_m
شنبه 24 آبان 1393, 11:21 صبح
HomeDirectory =
JUSTPATH(SYS(16,0))+"\"

بعد از

SET DEFAULT TO

یا

SET PATH TO

استفاده کنید.

hmgjob
شنبه 24 آبان 1393, 12:53 عصر
بسیار ممنون
من خیی مبتدی هستم
امکان داره لطف کنید و این رو در قالب یک نمونه اینجا قرار بدهید؟

hmgjob
دوشنبه 10 آذر 1393, 06:52 صبح
بسیار ممنون
من خیی مبتدی هستم
امکان داره لطف کنید و این رو در قالب یک نمونه اینجا قرار بدهید؟

hmgjob
چهارشنبه 12 آذر 1393, 10:14 صبح
به دل ما موند اینجا درخواست نمونه برنامه کنیم و این همه اساتید برنامه نویسی اینجا فعالیت میکنند هیچکدام این لطف رو به ما نمی کنند
فقط تا بگم نمونه برنامه بگذارید که من که خیلی مبتدی هستم متوجه بشوم سریع همه می گویند برو یاد بگیر. آقا اصلا اینجا همه استاد هستند ولی اگه یه نفری هم مثل من بیاد و یک سوال بسیار بسیار ابتدایی بپرسه این از بزرگواری استاد هست که با متانت و آرامش جوابی به سوال خیلی خیلی ابتدایی و ساده اون شاگرد بده که باعث یادگیری و راه افتادن کارش بشه نه اینکه هی بگن تو که این رو هم بلد نیستی بهتره بری یاد بگیری. به خدا اگه همون نمونه کار رو در جواب سوال من اینجا بگذارند خیلی عالی اون مطلب رو یاد می گیرم در حالیکه وقتی این دستورات رو می برم داخل برنامه می گذارم هی با مشکل مواجه می شوم و تازه هیچ چیز هم یاد نمی گیرم. عزیزان خواهش می کنم بزرگوارانی که در زمینه برنامه نویسی تبحر دارند به جای اینکه این انجمن رو فقط محلی برای به اشتراک گذاشتن دانش هاشون با افراد هم رتبه خودشون تبدیل کنند لطف کنند و بیایند به افرادی که در برنامه نویسی بسیار بسیار ضعیف هستند هم اهمیت بدهند. باور بفرمایید یک نمونه کار کوچک نه تنها وقت هیچ کسی را نمی گیرد بلکه در یاد گرفتن و جا افتادن مطلب برای یک مبتدی مثل من بسیار مفید هم هست.
خوب حالا با اینی که نوشتم همون عزیزانی که به هیچ عنوان حاضر به ارائه کمک به من آماتور نمی شوند اینجا شروع به انتقاد و تخریب می فرمایند.
بسم ا...

hamed_m
پنج شنبه 13 آذر 1393, 02:39 صبح
ببخشید من زمان نداشتم پاسخ بدم. یاد گرفتن از کد سایرین کار بسیار خوبیه که مطمئنم همه از اون استفاده میکنند.
برای استفاده از کدی که من اینجا قرار دادم مثلا main.prg :




_Screen.Caption="Myprogram"
_Screen.Visible=.F.
PUBLIC myHomeDirectory
*myHomeDirectory="c:\myprogram" بجای این از سطر بعدی استفاده میکنیم
myHomeDirectory = JUSTPATH(SYS(16,0))+"\"
SET DEFAULT TO myHomeDirectory+'data\'
SET PATH TO myHomeDirectory+'data\'
USE myHomeDirectory+'data\users'
* از اینجا به بعد دیگه روال عادی برنامه رو طی کنید
* به این شیوه برنامه در هر زیرشاخه ای در هر درایوی که قرار بگیره
* میتونید از فایلها استفاده کنید
* من بانکهام در این برنامه در زیرشاخه
* data
* قرار گرفته اند



میتونید این کد رو برای استفاده از فایلهای تصاویرتون تغییر بدید.

hmgjob
پنج شنبه 13 آذر 1393, 09:30 صبح
آقا بسیار متشکرم از لطف شما
من یک فایل prg دارم که برنامه از روی اون اجرا میشه اینها رو داخل اون ریختم. این پوشه data پوشه اصلی برنامه هست؟ و اون پوشه users آیا زیرشاخه data هست؟ با احتساب به اینکه فایل prg من داره یک فرم رو در نهایت باز می کنه این مشکل هست که بازهم پیغام invalid path or file name میده


_Screen.Caption="Myprogram"
_Screen.Visible=.F.
PUBLIC myHomeDirectory
myHomeDirectory = JUSTPATH(SYS(16,0))+"\"
SET DEFAULT TO myHomeDirectory+'bonro\'
SET PATH TO myHomeDirectory+'bonro\'
USE myHomeDirectory+'bonro\pic'
USE myHomeDirectory+'bonro\pic\1'
USE myHomeDirectory+'bonro\pic\2'


الان در درایو c پوشه bonro پوشه اصلی و پوشه pic زیرشاخه bonro است که پوشه های 1 و 2 هم زیرشاخه pic هستند.
راستی اون دوتا خط اول رو دقیقا همونجوری کپی کردم تو فایل prg اینها چی هستند؟

اگه ممکنه این کد رو با اطلاعات من ویرایش بفرمایید

hamed_m
پنج شنبه 13 آذر 1393, 21:10 عصر
سطر اول نام پنجره اصلی رو مشخص میکنه و سطر دوم جلوی نمایش پنجره اصلی رو میگیره تا اگر فرمی بعنوان شروع برنامه دارید اون رو بدون نمایش صفحه اصلی فاکس نمایش بدید. بنابراین اگر سناریوی دیگه دارید نیازی به اون نیست.
دستور یوز برای بازکردن بانکهاست.
برای نمایش تصویر دیگه ای بجای image1 در فرمتون
Thisform.image1.Picture=myHomeDirectory+'pic\1'
ممکنه نیاز به اضافه کردن پسوند فایل تصویر هم داشته باشید. اینها همه به این شرطه که فایل اجرایی در در شاخه bonro قرار داشته باشه.
اگر بازهم توضیح میخواهید شاید بهتر باشه فایل پی آر جی یا فرم رو آپلود کنید تا بهتر ببینیم چه میخواهید بکنید.

hmgjob
شنبه 15 آذر 1393, 08:22 صبح
من یک نرم افزار بانک اطلاعاتی دارم که شامل یک فرم و یک بانک اطلاعاتی هست. یک فایل prg هم دارم که برنامه با اون لود می شه چون set main رو در project manager روی prg گذاشتم. در حال حاضر در نرم افزار از تصاویر استفاده می شه. روی درایو c یک فولدر به نام bonro دارم که یک زیر شاخه به نام pic هم در اون هست و زیر شاخه های 1 و 2 هم در pic هستند و در بانک اطلاعاتی مسیر فایلهای تصویری رو به این شکل وارد کرده ام c:\bonro\pic\1\00001.jpg نام بانک اطلاعاتی هم table1.dbf هست که در شاخه bonro می باشد. راستی اونوقت در بانک اطلاعاتی چگونه آدرس عکس رو وارد کنم
اگه لطف بفرمایید یک فایل prg برایم درست کنید که بتواند این مشکل رو حل کند.

hamed_m
سه شنبه 18 آذر 1393, 23:01 عصر
فایل پی آر جی که مشکلی نداره و کار میکنه اما فرمتون رو آپلود کنید تا بتونم بیشتر بفهمم مشکل چیه.
تا اینجا با باز کردن بانک که مشکلی ندارید؟
اما در بانکتون میتونید آدرس تصاویر رو با زیر شاخه مثلا pic\1\00001.jpg قرار بدید و بعد موقع تغییر یا کلیک
Thisform.image1.Picture=myHomeDirectory+picadress
picadress هم نام فیلدی هست که آدرس تصاویر رو در اون ذخیره میکنید و image1 نام تصویر در فرم.
من متوجه نمیشم چه نوع prg مد نظر شماست. فرمتون رو من ندیدم و بانکتون رو هم همینطور.
به هر حال همین منطق رو پیاده کنید باید مشکلتون حل بشه.
متاسفانه زمان ندارم کامل براتون فایلها رو بسازم.