بتاريخ: 20 أبريل 200619 سنة comment_66859 السلام عليكم و رحمة الله و بركاتهأسأل عن طريقة عمل فورم تقوم بعملcope لملف معين من مكان معين يعنى مثلا هختاره ب browse و احدد للفورم المسار اللى هتقوم بعمل past داخله هل ممكن المساعدةنرجو الافاده تقديم بلاغ
بتاريخ: 20 أبريل 200619 سنة comment_66873 السلام عليكم... 1) make abutton called browse and put this code in when-button-pressed: DECLARE V_FILE_PATH VARCHAR2(200); BEGIN V_FILE_PATH := GET_FILE_NAME(FILE_FILTER =>'ALL_FILES (*.*)|*.*|'); COPY_SELECTED_FILE(V_FILE_PATH,:TARGET); --WHERE TARGET IS THE FIELD ON THE FORM WHERE YOU HAVE DEFINED WHERE TO PASTE THE FILE(FULL PATH PLEASE) NOW..MAKE A PROCEDURE IN THE FORM AND CALL IT COPY_SELECTED_FILE. PROCEDURE COPY_SELECTED_FILE(P_FILE_PATH VARCHAR2, P_TARGET VARCHAR2) IS Batch_File_Name VARCHAR2(1024) := 'C:\AMMAR.BAT'; File_ID TEXT_IO.FILE_TYPE; BEGIN FILE_ID := TEXT_IO.FOPEN(BATCH_FILE_NAME,'W'); TEXT_IO.PUT_LINE(FILE_ID,'CD "'||P_TARGET||'" '||CHR(10)|| 'copy "'||P_FILE_PATH||'" ' ||P_TARGET||' /y'); TEXT_IO.FCLOSE(File_ID); HOST(Batch_File_Name); END; GOOD LUCK ! تقديم بلاغ
بتاريخ: 20 أبريل 200619 سنة كاتب الموضوع comment_66879 جزاك الله خيرا اخىساجربها ان شاء الله .. و لكن هناك سؤال اخر متعلق بنفس الموضوع و لكن بطريقه اخرىانا عندى كود بيعمل copy لفيل معين و محدد ال path فى الكود Host( 'cmd /c copy c:\file d:\file' ); و هذا الكود يعمل عندى على form6iو لكن انا اريد ان اعمل copy لل folder بأكمله الى مكان أخربعنى اننى اريد كود ينسخ folder من مكان الى مكان و مشرط ال browseمجرد كود مثل الذى موجود لل file تقديم بلاغ
بتاريخ: 20 أبريل 200619 سنة comment_66926 الأخ / ammar_kh1982شكرا لردودك المتميزه ومشاركاتك القيمه بالمنتدى لي سؤال اخر كيف يمكن طباعة ملف من نوع tif من داخل الفورمهذا الملف عبارة عن صورة للمستند ماخوذ بالسكانر شكرا لك ولجميع الزملاء تقديم بلاغ
بتاريخ: 22 أبريل 200619 سنة comment_67006 السلام عليكم... If you want to copy the folder (not the file) and without browse button,then you can use this host code instead of yours: Host( 'CMD /C XCOPY C:\MY_FOLDER D:\MY_FOLDER /s /Y' ); تم تعديل 22 أبريل 200619 سنة بواسطة ammar_kh1982 تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67107 جزاك الله خيرا أخى على ردك المفيدو لكن اخى فى الطريقه الاولى ما اشتغلت معى.. و بيظهر هذا الخطأ الذى فى الصوره؟؟؟ تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67111 السلام عليكم... You have to put the path of the target location you want to copy the file to like this : COPY_SELECTED_FILE(V_FILE_PATH,'D:\'); this will copy the file to the d: drive . you can put any path you want ! you can make it static or let the user put the path . Note : don't put the code i wrote before as it is ! it containts some comments like (now make anew procedure in the form ...etc)..you have to comment them . put /* comments */ to do acomment . تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67116 اخى انا فعلا عاجز عن الشكر للمساعده و قمة الافاده اللى حصلت عليها جزاك الله عنى خير الجزاء .. و نفع الله بك و لكن اخى هناك استفسار بسيط لو افدتنى فيه اكون فعلا منون جدا ليك و هى دلوقت الكود دا بيعمل copy من مكان بطريقة ال browse و يضعه فى folder فهل يمكن ان يقوم الكود بعمل create ل another folder داخل الfolder الأساسى؟؟ تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67120 استطعت انى اعملها مثلا بالطريقة دى Host( 'cmd /c md d:\file' ); DECLARE V_FILE_PATH VARCHAR2(200); BEGIN V_FILE_PATH := GET_FILE_NAME(FILE_FILTER =>'ALL_FILES (*.*)|*.*|'); COPY_SELECTED_FILE(V_FILE_PATH,'d:\file'); END; و لكن اريده مثلا يعمل random folder باى حاجه loop مثلا و بعد ما يعمل الفولدر العشوائى يقزم بنسخ الملف فيه؟؟؟؟؟؟؟؟؟؟؟؟؟بجد انا فى حاجه ماسه لهذه المساعده و جزا الله خيرا كل من افادنى تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67128 السلام عليكم... You have just to modify the procedure like this: PROCEDURE COPY_SELECTED_FILE(P_FILE_PATH VARCHAR2, P_TARGET VARCHAR2, P_SUB_FOLDER VARCHAR2) IS Batch_File_Name VARCHAR2(1024) := 'C:\AMMAR.BAT'; File_ID TEXT_IO.FILE_TYPE; BEGIN FILE_ID := TEXT_IO.FOPEN(BATCH_FILE_NAME,'W'); TEXT_IO.PUT_LINE(FILE_ID,'CD "'||TARGET||'" '||CHR(10)|| 'MD "'||TARGET||'\'||SUB_FOLDER||'"'||CHR(10)|| 'COPY "'||FILE_NAME ||'" '||TARGET||'\'||SUB_FOLDER||' /y'); TEXT_IO.FCLOSE(File_ID); HOST(Batch_File_Name); END; --This will copy your file to the new sub_folder which will be created --automatically ! --Note : You can do this more professionally by making the sub_folder name equals to the (id) of the data block record of your form. so...when you call the procedure from when-button-pressed you call it like this : COPY_SELECTED_FILE(V_FILE_PATH,:TARGET,:id); example : the id of your record is 123 . then all your files that you have selected will be in afolder named 123 ! good luck ! تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67139 اخى جزاك الله خيرا و لكن كله يتم تما و لكت ال file لا يتنسخ يتم انشاء ال sub_flderو لكن دون نسخ ال file بداخله تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67141 Hi..i'm sorry...replace this peice of code by this one TEXT_IO.PUT_LINE(FILE_ID,'CD "'||TARGET||'" '||CHR(10)|| 'MD "'||TARGET||'\'||SUB_FOLDER||'"'||CHR(10)|| 'COPY "'||FILE_NAME ||'" '||'"'||TARGET||'\'||SUB_FOLDER||'" /y'); تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67144 اخى المشكله لازالت زى ما هى؟.... ال file لا ينسخ أرجو الافاده بسرعه تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة comment_67147 السلام عليكم.....This code works properly !! i've tried it for you !listen...take this form and test it by yourself .good luck Copy_to_sub_folder تقديم بلاغ
بتاريخ: 23 أبريل 200619 سنة كاتب الموضوع comment_67153 جميل اخى اشتغلن ان شاء الله كويس يبدوا انى كنت عامل حاجه غلطجزاك الله خيرا ..و لكن هيا بتعمل folder اسمه final و دا انت معرفه فى الكودالمطلوب ان هذا ال folder (final)1 يكون متغير مش ثابت يعنى اسم عشوائى randome nameو كمان رساله تطلع بعد العمليه دى كلها باسم الfolder العشوائى دا و هذا كل المطلوبانا عارف انى تعبتك معايا اخى و جزاك الله خيرا على كل الافاده تقديم بلاغ
بتاريخ: 24 أبريل 200619 سنة comment_67202 السلام عليكم..... It's ok aiman..i put this fmb as an example on the code to make a sample folder named final..so you will not put it's default value..as i said before,, you will send the folder name(which is the id of the record) as an argument when you call the procedure COPY_SELECTED_FILE(V_FILE_PATH,:TARGET,:id); then you will put the procedure code as i wrote before : procedure copy_selected_file(p_file_path varchar2, p_target varchar2, p_sub_foder varchar2) is Batch_File_Name VARCHAR2(1024) := 'C:\AMMAR.BAT'; File_ID TEXT_IO.FILE_TYPE; BEGIN file_name:= GET_FILE_NAME(FILE_FILTER=> 'ALL_FILES (*.*)|*.*|'); FILE_ID := TEXT_IO.FOPEN(BATCH_FILE_NAME,'W'); TEXT_IO.PUT_LINE(FILE_ID,'CD "'||P_TARGET||'" '||CHR(10)|| 'MD "'||P_TARGET||'\'||P_SUB_FOLDER||'"'||CHR(10)|| 'COPY "'||P_FILE_PATH||'" '||'"'||TARGET||'\'||P_SUB_FOLDER||'" /y'); TEXT_IO.FCLOSE(File_ID); HOST(Batch_File_Name); END; GOOD LUCK : تقديم بلاغ
بتاريخ: 26 أبريل 200619 سنة كاتب الموضوع comment_67530 اخى جزاك الله خيرا ..اعجز عن شكرك لما استفدته من خبرتكانا عملتها و اشتغلت معايا كويس و لكن عند بقية الشبكة.. لم تشتغل عند بعض الناسو لما اجى اطبق patch بس بيقولى access is denied و مش عارف ايه العمل تقديم بلاغ
بتاريخ: 27 أبريل 200619 سنة comment_67589 السلام عليكم.... [code] السلام عليكم.... The problem arises because our code will run the batch file(ammar.bat) on your own pc. so ,any attempt from any user on the network to use your own drive will show him the message('Access Denied !'). So,,,we will solve the problem by this way inshalla: 1) Choose a server you want the files to be stored in. 2) Choose a folder on this server and let the network administrator of your company to grant privilages on this folder to all of the users you want them to access and copy files to this folder. For example : server name = backup-server folder name = aiman_files so,we now know the target where the files will be stored ,which is \\backup-server\aiman_files 3) we will do some changes to the code like this: a) In our procedure the code will be like this : PROCEDURE COPY_SELECTED_FILE(P_FILE_PATH VARCHAR2, P_FOLDER_NAME VARCHAR2) IS --**********RUN A BATCH FILE ON THE SERVER WHICH WILL COPY --**********THE FILE FROM CLIENT'S PC TO THE FOLDER (aiman_FILES) ON THE SERVER --**********BY ADDING THE FILE TO A NEW FORLER(:FOLDER_NAME) IN (aiman_files FOLDER) --**********BY A NAME OF (ID) TO UNIQLY IDENTIFY EVERY MASTER RECORD'S FILES Batch_File_Name VARCHAR2(1024) := '\\BACKUP-SERVER\AIMAN_FILES\AMMAR.BAT'; File_ID TEXT_IO.FILE_TYPE; BEGIN File_ID := TEXT_IO.FOPEN(Batch_File_Name,'W'); TEXT_IO.PUT_LINE(File_ID, 'net use r: \\BACKUP-SERVER\AIMAN_files '||CHR(10)|| 'R:'||CHR(10)|| ' MD "'||P_FOLDER_NAME||'"'||CHR(10)|| ' CD "'||P_FOLDER_NAME||'"'||CHR(10)|| ' copy "'||P_FILE_PATH||'" r: /y'||CHR(10)|| 'C:'||CHR(10)|| 'net use r: /delete'); --CHR(10) ACTS LIKE ENTER (NEW LINE) TEXT_IO.FCLOSE(File_ID); HOST(Batch_File_Name); END; /*Mr aiman : This will create a network connection on the client pc to map the network drive \\backup-server\aiman_file and then closes the connection without the user notices anything:) */ From your browse button ,call the procedure like this: COPY_SELECTED_FILE(V_FILE_PATH,:ID); -- ID IS THE FOLDER NAME Note : Please make sure step 1,step 2 are done before you do anything else good luck ! [/code] تقديم بلاغ
بتاريخ: 30 أبريل 200619 سنة كاتب الموضوع comment_67840 جزاك الله خيرا اخى و الله استفدت منك كتير .. و الحمد لله اتعلمت منك كتير جزاك الله خير و بالنسبه لاسم الsub_folder قدرت اعمله random عن طيرق تعريفه بالطريق الأتيه declare P_FOLDER_NAME1 VARCHAR2(200):= :u_name ||to_char( sysdate, 'ddssmihh24'); و كمان فيه function بتعمل random بس هيا مش معايا دلوقت ان شاء ابعتها بكرهالمهم انى عملت جدول تانى فيه الcolumns دى uname ,date, file_name_folder_nameدا علشان اخزن فيهم بيانات اى عملية هتم فى الفورم فياريت لو هتقل عليك فى المعلومة دىمش عارف اعمل جملة ال insert و كمان مش عارف اعملها فين و امتى؟؟ فارجو الافاده و جزاك الله خيرا على ما استفدته و تعلمته منك تقديم بلاغ
بتاريخ: 30 أبريل 200619 سنة كاتب الموضوع comment_67858 استطعت انى اعملها بالطريقة دى و لكن اسم ال path كله بيأتى فى الجدو و انا عاوز اسم ال file فقط if P_FOLDER_NAME1 is not null then INSERT INTO ftp_history_table(UNAME,FTP_DATE,FILE_NAME,FOLDER_NAME) values(:u_name, sysdate ,P_FILE_PATH ,P_FOLDER_NAME); FORMS_DDL('COMMIT'); message('..... Data Transferred.....'); else message('..... Error .....'); end if; ؟؟؟؟ تقديم بلاغ
بتاريخ: 1 مايو 200619 سنة comment_67923 السلام عليكم..... أخي أيمن ...لا شكر على واجب..و إن شاء الله تبقى الإفادة قائمة على الدوام. To get the file name do this : DECLARE X NUMBER(3); V_FILE_NAME VARCHAR2(250); begin X := INSTR(V_FILE_PATH,'\',-1,1); --SEARCH THE POSITION OF THE LAST (\) V_FILE_NAME := SUBSTR(V_FILE_PATH,X+1); --FILE NAME WITH EXTENTION END; good luck ! تقديم بلاغ
بتاريخ: 23 يوليو 20178 سنة comment_288483 السلام عليكم اخي الاخ العزيز عمار عندي اشكالية ، هي اني اريد نسخ الملف من على جهاز المستخد الى فولدر موجود على سيرفر وهل يمكن يكون الفولدر ده غير مشارك او مشارك بصلاحية القراءة فقط ولما اجي انسخ عليه انسخ بصلاحية تمكني من النسخ؟ تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.