כותב |
|
אבידור משתמש חבר
הצטרף / הצטרפה: 11 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 162
|
נשלח בתאריך: 31 October 2005 בשעה 15:10 | | IP רשוּם
|
|
|
|
בשפת C...
אני רוצה לעשות מצב שנגיד המשתמש יכתוב פקודה מסויימת והתוכנה תבצע אותה, אך לא בעזרת תנאים והכל...
לדוגמא יש פונקציה A();
אז איך אני עושה שהמשתמש יכתוב A();
וזה יפעיל ? לדוגמא כך:
קוד:
char name[20];
printf("Function: ");
gets(name);
name;
|
|
|
;
הבנתם?
אני רוצה שהתוכנית תפעיל את הפקודה שבתוך המשתנה.
|
חזרה לתחילת העמוד |
|
|
shoster משתמש פעיל
הצטרף / הצטרפה: 05 February 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 106
|
נשלח בתאריך: 31 October 2005 בשעה 15:24 | | IP רשוּם
|
|
|
|
אממ...חחח
אני באופן אישי אין לי מושג איך עושים את זה בלי תנאים אם בכל מקרה אתה מעוניין להעשות את זה אם תנאים אני יסביר לך
__________________ * signature place holder goes here *
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 31 October 2005 בשעה 18:08 | | IP רשוּם
|
|
|
|
לא הבנתי אותך, תסביר שוב ברור יותר, מה הקלט מהמשתמש ומה הפלט? זה כל מה שאני צריך לדעת...
|
חזרה לתחילת העמוד |
|
|
Zibi משתמש חבר
הצטרף / הצטרפה: 21 July 2005
משתמש: מנותק/ת הודעות: 223
|
נשלח בתאריך: 31 October 2005 בשעה 19:18 | | IP רשוּם
|
|
|
|
pitbull כתב:
לא הבנתי אותך, תסביר שוב ברור יותר, מה הקלט מהמשתמש ומה הפלט? זה כל מה שאני צריך לדעת...
|
|
|
אין פלט של המשתמש.הוא רוצה שמשתמש יכתוב פקודה כלשהי ואז התוכנה תבצע אותה.
למשל שמשתמש יכתוב 1+1 והתוכנה תעשה את זה אבל הוא רוצה דרך לעשות את זה בלי תנאים.
|
חזרה לתחילת העמוד |
|
|
אבידור משתמש חבר
הצטרף / הצטרפה: 11 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 162
|
נשלח בתאריך: 31 October 2005 בשעה 19:27 | | IP רשוּם
|
|
|
|
אני יודע בתנאים.
לדוגמא אני רוצה לבנות תוכנית שהמשתמש כותב פונקציה והתוכנית מבצעת אותה לדוגמא:
קוד:
char name[20];
printf("Function: ");
gets(name);
|
|
|
;
המשתמש כתב פונקציה שנמצאת במשתנה NAME.
איך אני עכשיו מפעיל את הפונקציה?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 31 October 2005 בשעה 20:25 | | IP רשוּם
|
|
|
|
מה שהוא מתכוון זה כמו ב-JavaScript
שיגרום ל-alert
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 31 October 2005 בשעה 23:00 | | IP רשוּם
|
|
|
|
אתה לא יכול לעשות את זה
אתה יכול לעשות שבקלט מסוים פונקציה מסויימת תתבצע
אתה יכול לעשות שהאופציות יהיה למשל A() שתפעיל פונקציה A
אבל אני לא מבין למה זה יעזור
|
חזרה לתחילת העמוד |
|
|
אורח אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 01 November 2005 בשעה 04:02 | | IP רשוּם
|
|
|
|
הדבר היחידי שעולה לי לראש זה אולי לטעון מ DLL.
אבל זה כמובן לא יעבוד בדוס, וזה גם קצת בעייתי, כי צריך להגדיר את האב טיפוס של הפונקציה, לפני שטוענים אותה.
|
חזרה לתחילת העמוד |
|
|
אורח אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 01 November 2005 בשעה 04:05 | | IP רשוּם
|
|
|
|
טוב הנה דוגמא למי שמעוניין:
קוד:
#include <windows.h>
#include <iostream>
using namespace::std;
typedef int (WINAPI *msgbox)(HWND, LPCTSTR, LPCTSTR, UINT);
int main()
{
HMODULE hModule;
msgbox msg;
char input[100]="MessageBoxA";
hModule = LoadLibrary("user32.dll");
msg = (msgbox)GetProcAddress(hModule, input);
if (msg==NULL)
{
cout<< "Error, unable to get proc address" << endl;
FreeLibrary(hModule);
}
msg(NULL, "blabla", "blabla", MB_OK);
FreeLibrary(hModule);
return 0;
}
|
|
|
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 01 November 2005 בשעה 18:45 | | IP רשוּם
|
|
|
|
לפי מה שהבנתי מה שאתה מבקש לא אפשרי, בגלל שהקוד עצמו חייב לעבור קמפול...
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
אבידור משתמש חבר
הצטרף / הצטרפה: 11 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 162
|
נשלח בתאריך: 01 November 2005 בשעה 22:31 | | IP רשוּם
|
|
|
|
...
לא משנה.. תודה בכל אופן!
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 04 November 2005 בשעה 15:41 | | IP רשוּם
|
|
|
|
אני לא חושב שתוכל לעשות כזה דבר בסי...
לא בלי אקסטרה הגדרה בשביל כל פונקציה או טבלאת המרה...
כי אחרי שהקוד מקומפל הוא לא יודע מה זה A ומה זה פונקצייה B...
בשבילו הכל הפך לכתובות...
אם לעומת זאת אתהרוצה לבקש מספר כתובת פונקצייה ולקרוא לה זה אפשר בלי בעיה.. :)
|
חזרה לתחילת העמוד |
|
|