Logo

רד-בורד: ארכיון

ראשי > תיכנות > כמה שאלות בפסקל

29/08/2006 01:50:45 -casper-
טוב אז עזבתי את זה למלא זמן ועכשיו אם תחילת הלימודים חזרתי :-)

טוב אז כמה שאלות בפסקל..
האם יש קוד בפסקל שגורם לחלון לסגור את עצמו..
יענו אני כותב תוכנה בפסקל ואני וצריך סיסמא כדי להיכנס
ואם הסיסמה לא נכונה אז התוכנה שכתבתי בפסקל תסגור את עצמה..
אם כן אפשר אותו?
וקצת להסביר איך הוא עובד? מה לכתוב וכ’ו?

ואם מישהו פה יודע איך אני גורם לקובץ לשכפל את עצמו לתיקיה שאני בוחר..
בפסקל כמובן..
יענו האיש מפעיל את הקובץ והקובץ פועל כראוי הוא עושה מה שהוא צריך לעשות לדוגמא מחשבון..
אבל בחשאי ברגע האיש הפעיל אותו הקובץ מתחיל לשכפל את עצמו לכמה מקומות שאמרתי לו..
או לשכפל קבצים אחרים שאיתו באותה תיקיה לתיקיות אחרות שאני כמובן נותן לו את המיקום..
האם זה אפשרי?
אם כן מהקוד?
ושוב קצת הסבר...

תודה מראש!! :)
29/08/2006 02:01:09 devil kide
בשביל השאלה הראשונה, תשתמש בפונקציות, ככה לדוגמא:
קוד:
program test;
var
a:string;
procedure proced1;
begin
writeln (’bad password’);
.
.
.
.
end;
begin
eriteln(’insert password:’);
readln(a);
if a=’hello’
then proced1
else writeln(’ bad password’);
end.




בקשר להעתקת הקובץ אני לא ממש יודע, אבל אם אתה יודע איך אפשר להריץ פקודות של הקונסול בפסקל זה יעזור :).
29/08/2006 02:07:54 -casper-
אז זה אני יודע לעשות..
יענו שיכתוב שזה סיסמה שגויה
אבל אני רוצה שהוא יסגור לו את החלון... :)
29/08/2006 02:11:18 devil kide
זה יסגור את החלון, אם הסיסמא נכונה ילך לפונקציה שכתבת וימשיך את העבודה, אם לא זה יצא מהתוכנית.

אני מעריך שגם יש איזושהי פונקצית goto
או
jump , אבל אני לא מכיר אותה.
29/08/2006 02:22:29 -casper-
אמ הסיסמא נכונה הוא ילך לפונקציה שכתבתי וימשיך את העבודה
אם היא לא אז הוא יכתוב "bad password’"
וזהו...
התוכנית לא תימשך
אבל גם לא תיסגר... יענו alt f4

ואני גם לא מכיר את הפונקציות שכתבתה למעלה...

עריכה:
עוד שאלה..
האם יש דרך לגרום לתוכנה לספור שניות לפני השעון של המחשב..
יענו אני רוצה שכשיעברו 5 שניות היא תרשום לו עברו 5 שניות..
ואחרי שהיא רשמה לו את זה היא תספור 6 שניות ואז כשיעברו 6 שניות היא תרשום לו עברו 6 שניות...
מישהו??[ההודעה נערכה על-ידי -casper- ב-29/08/2006 02:38:13]
29/08/2006 02:36:44 devil kide
אם הוא הכניס קלט התוכנית תסגר, כי אחרי הbad pass , לא יהיה לה לאן להמשיך והיא תסגר.
אם אתה מריץ אותה דרך הCMD היא לא תסגר, אבל אם אתה לוחץ דבל קליק, היא תסגר.
29/08/2006 02:39:37 nel
הפקודה EXIT יוצאת מהתוכנית מיד...
אם זה מה שאתה צריך...
29/08/2006 02:40:16 -casper-
טוב...
אני ינסה...
אני הולך לישון חח צריך מחר לקום מוקדם..
אני ינסה מחר..
ויש דרך כלשהי לעשות את מה שערכתי למעלה?
או את השאלה האחרת שלי בפתיחת הנושא..?
29/08/2006 02:42:07 -casper-
ציטוט:הפקודה EXIT יוצאת מהתוכנית מיד...
אם זה מה שאתה צריך...

לא בפסקל...
אם אתה רושם את זה בדוס זה יוצא..
אם אתה רושם את זה בתוכנית שמישהו כתב והוא לא הגדיר את הפקודה הזו..
לא משנה כמה פעמים תכתוב exit התוכנית תמשיך כמתוכנן[ההודעה נערכה על-ידי -casper- ב-29/08/2006 02:43:31]
29/08/2006 02:43:26 devil kide
קספר אני חושב שהוא צודק.
29/08/2006 02:44:16 -casper-
ניסיתי לכתוב..
הוא לא עושה עם זה כלום..
זה לא פקודה כמו if או משהו אם לזה אתם מתכוונים..

בסוף אני לא הולך..
אז מישהו??
חחח[ההודעה נערכה על-ידי -casper- ב-29/08/2006 02:45:13]
29/08/2006 02:46:51 devil kide
תכתוב תוכנית, ותכתוב אותה ככה
קוד:
begin
writeln(’hi’);
exit;
writeln(’ if it’s word it’s not good’);
end.
[ההודעה נערכה על-ידי Admin ב-04/09/2006 22:59:28]
29/08/2006 02:51:44 -casper-
החלון נשאר פתוח שכתוב בו:
"hi"

נראה לי שexit מפסיק את התוכנית אבל לא יוצא מהחלון...
[ההודעה נערכה על-ידי -casper- ב-29/08/2006 02:52:20]
29/08/2006 10:23:55 nel
באמת?זה חדש לי...
יש עוד פקודה אבל....

HALT אני חושב יכול להיות?
29/08/2006 23:22:06 -casper-
החלפתי את הפקודה exit
בפקודה HALT
ושוב זה הפסיק את התוכנית...
30/08/2006 00:30:33 nel
אז אני לא יודע...
אתה יכול לעשות קובץ BAT שבתוכו יהיה את הפקודה EXIT
זה אני די בטוח יסגור את חלון הדוס...
ואז אתה יכול לקרוא לקובץ הזה עם אתה רוצה שהחלון יסגר...

30/08/2006 01:05:21 -casper-
לא נראה לי שהבנתי..
אבל לפי מה שהבנתי אז הקובץ יסגור את חלון הBAT ולא את חלון התוכנה...
30/08/2006 03:03:26 devil kide
עם איזה מהדר אתה משתמש?
30/08/2006 16:33:00 nel
ציטוט:לא נראה לי שהבנתי..
אבל לפי מה שהבנתי אז הקובץ יסגור את חלון הBAT ולא את חלון התוכנה...

לא כי הפלט מוצג בדוס וכשאתה קורא לקובץ באט בדוס הוא נפתח באותו חלון דוס...
04/09/2006 20:08:57 -casper-
לא הייתי פה הרבה זמן..
סליחה שלא עניתי..
היו לי מלא ספרים לקנות ללימודים.. :)
טוב אז המהדר שאני משתמש בו הוא של הפסקל...
כאילו הוא מובנה בפסקל אין משהו מיוחד שאחר כך אני מעביר אותו בו...
אני משתמש בטורבו פסקל 1.5 (כי זה מה שהיה בבצפר שלי :-))

נל:
דבר ראשון הפלט שלי לא מוצג בחלון דוס..
כשאני לוחץ (run) אז הוא יוצר לי קובץ בתיקיה של הפסקל ומריץ אותו לבד הרקע לבן ואני לא יכול לכתוב בו כלום ואין לו שום קשר לדוס..
ואני גם לא בטוח שאם אני קורא לקובץ באט בדוס הוא נפתח באותו חלון דוס אבל אני סומך עלייך.. :)
04/09/2006 22:41:14 nel
יפתח באותו חלון כשאתה קורא לו בדוס הוא יפתח באותו חלון....

תוריד טורבו פסקל 7 הוא פותח בחלון דוס... ואם זה לבי"ס אתה יכול להכין את זה בבית בטורבו 7 ואז להביא לבי"ס

04/09/2006 23:11:53 Admin
ציטוט:עוד שאלה..
האם יש דרך לגרום לתוכנה לספור שניות לפני השעון של המחשב..
יענו אני רוצה שכשיעברו 5 שניות היא תרשום לו עברו 5 שניות..
ואחרי שהיא רשמה לו את זה היא תספור 6 שניות ואז כשיעברו 6 שניות היא תרשום לו עברו 6 שניות...
מישהו??


בדיוק היום למדתי שקיימת אפשרות של שעון ונסיתי לשחק קצת עם השגרה של זה. היא חלק מהספריה dos (אז תעשה uses dos בתחילת התוכנית):
gettime

לצערי לא מספיק לכתוב gettime כדי להפעיל את זה, זה קצת מסתבך. אז כנס ל-INDEX לערך של gettime ורד קצת למטה, יש שם דוגמה לשימוש (פשוט תעתיק את השגרה ונסה להבין מה הם עושים שם. שים לב שהם הוסיפו עוד איזה פונקציה [LeadinZero] סתם בשביל להוסיף אפסים לפני המספרים במקרה של מספרים עם ספרה אחת. זאת אומרת שאפשר להזניח אותה ואז הקוד נראה הרבה יותר ברור וקל).

אחרי שתצליח להפעיל את השגרה פשוט תעבוד עם לולאות. תעשה משהו בסגנון לקחת את המספר בשניות ולאמר לו להמשיך לעבוד עד ש-sec>=a כשב-a תקלוט את מספר השנייה כשהלולאה התחילה לעבוד + 5.


בקשר לשאלה של היציאה - לא יודע. חפש ב-INDEX נסה תחת הערך EXIT (הייתי עוזר לך לחפש אבל אין לי TURBO PASCAL על המחשב, רק בבית ספר).

בקשר לשאלה של ההכפלת קבצים - גם כן, חפש ב-INDEX. אני הרבה פעמים נתקל שם בערכים עם השם file, בטח אחד מהם יעזור לך.
05/09/2006 19:41:25 -casper-
נל:
עזוב כבר התרגלתי לגרסה שיש לי...

שחף:
תודה רבה עזרתה לי מאוד!
רק מז"א "חפש ב-INDEX"???
זה אתר?
או שאתה מתכון לקובץ מסוים?
06/09/2006 18:38:30 Admin
INDEX זה איזור ב-TURBO PASCAL שיש בו הסברים לכל (אני חושב) האפשרויות של השפה.
הוא נמצא בתפריט תחת הכותרת HELP.
יכול להיות שתמצא אותו תחת כותרת אחרת בגירסה ישנה של TURBO PASCAL אבל לא בטוח. אני יודע שזה קיים ב-6-7 אבל בנוגע לגירסאות אחרות אני לא יכול להבטיח כלום כי אף פעם לא נסיתי משהו מוקדם יותר.
06/09/2006 19:33:10 -casper-
מצאתי תודה!
יש לי את גרסה 1.5
ומשום מה הוא לא מוצא שום קבצי help
אבל אני יוריד את 7 או 6 ויפתח שמה את קבצי הhelp
הרי פסקל זה פסקל.. חח אין שינוי בשפה מגרסה לגרסה...

תודה רבה!! לא ידעתי בכלל על קיומו של הhelp זה יעזור לי מאוד!
06/09/2006 22:30:08 nel
האמת ידעתי על קיום ה-HELP אבל שכחתי מזה...

בקשר לזמן...
קראתי איפשהו משהו על זה...

אני יחפש ויתן לך אם אני ימצא אבל אל תבנה על זה באותו היום שקראתי על זה קראתי בערך עוד חמישים מאמרים אחרים ויהיה קשה למצוא...
עמודים: 1