Try HWzone in English English
עבור לתוכן
  • צור חשבון
  • מי אנחנו?

    שלום אורח/ת!

     
    שים לב - על מנת להשתתף בקהילה שלנו, להגיב ולפתוח דיונים חדשים, עליך להצטרף כחבר רשום.

    החברים שלנו נהנים מיתרונות רבים, כולל היכולת להשתתף בדיונים, להנות מהגרלות ומבצעים לחברי האתר, ולקבל מידי שבוע את התכנים הבולטים שלנו ישירות במייל.

    לא אוהבים שמציקים לכם במייל? ניתן להירשם לאתר אך לוותר על הרישום לעידכוני המייל השבועיים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

Pure-Gold

פונקציות שימושיות בכל השפות

Recommended Posts

שלום לכל הגולשים.

בדיון זה כל המעוניין יכל לרשום פונקציות שימושיות היכולות לשמש כל מתכנת בכל שפה.

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

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

השפה בה נכתבה הפונקציה

תאור בכמה מילים על הפונקציה ( מה היא מקבל, מחזירה וכו' )

וכמובן את קוד  הפונקציה בתוך שדה של קוד.

Enter your code here

וכמובן הכי חשוב בלי ספאם והתכתבויות שלא מכילות את הכללים הנ"ל. הדיון אמור לשמש כמעין "ספר לימוד".

דוגמא:

שפת הדוגמא: ASP

תאור: הוספה / מחיקה של נתונים לתוך מסד נתונים MySQL

חיבור למסד הנתונים:


<%
Set Conn=Server.CreateObject("ADODB.Connection")   
'יצירת אובייקט חיבור למסד הנתונים

  Connstr =  "Driver={MySQL ODBC 3.51 Driver}; SERVER=<SQL Server>; DATABASE=<Database Name>; UID=<Database User>; PWD=<Password>;"
'יצירת התחביר ( Connection String ) המחבר אותנו למסד הנתונים והמשתמש במנהל התקן המתאים ל MySQL ODBC 3.51

Conn.Open Connstr
'פתיחת החיבור למסד הנתונים
%>

הוספת נתונים למסד הנתונים:

תחילה יש לקלוט לדף ה ASP שלנו את הנתונים והטופס לתוך משתנה ( בשיטית Post או Get לפי שקול דעתכם ).

נניח שהמשתנים שבתוכם יש ערכים הם strText1 ו strText2 אני מעוניין להכניס אותם לטבלה בשם tbl_MyTable לעמודות Text1 ו Text2 בהתאמה.



<%
  SQL = "INSERT INTO `tbl_MyTable` ( `Text1`,`Text2`) VALUES ( '" & strText1 & "','" & strText2  & "' );"
  Conn.Execute SQL
%>

מחיקת רשומה ממסד הנתונים:

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

כך אנו יכולים בקלות לטפל בנתונים שלנו.


SQL = "DELETE FROM tbl_MyTable WHERE ID =" & ID
Conn.Execute SQL

תהנו.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

שאילתת עדכון


SQL = "UPDATE tbl_MyTable SET fld_MyField = " & data & " WHERE ID =" & ID
Conn.Execute SQL

כמובן שאם השדה הוא שדה טקסט אז חייבים להוסיף ' לפני ואחרי המשתנה.

אם רוצים לעדכן את כל הרשומות, מורידים את הWHERE.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

לי זה עזר.. =P לא יודע כמה זה תורם בכלליות...=\

שפת תיכנות: VB

תיאור הפונקצייה: הופכת מחרוזת שלמה לאסקי, ללא רווחים.

Private Function StrToAsc(Str As String) As String

For i = 1 To Len(Str)

StrToAsc = StrToAsc & Asc(Mid(Str, i, 1))

Next i

End Function

שפת תיכנות: VB

תיאור: חיבור מחרוזות הנמצאות בתוך מערך (כלומר, חיבור כל המחרוזות שנמצאות במערך מסויים למחרוזת אחת.).

Private Function CombStrArry(Arry() As String) As String

For i = 0 To (UBound(Arry))

CombStrArry = CombStrArry & " " Arry(i)

Next i

End Function

שפת תיכנות: VB

תיאור: (זה אמנם פרוצדורה, אבל לא חשוב) לוקח לייבל מסויים (LabelToCheck), ובודק האם האורך שלו מעל ההגבלת תווים שניתנה (LenToChange). אם כן, אז הפרוצדורה תחליף את המחרוזת כולה בX התווים הראשונים (LenToChange), ותוסיף שלוש נקודות אחריהם.

Private Sub ShortLabel(LabelToCheck As Label, LenToChange As Integer)

If (Len(LabelToCheck.Caption)) > (LenToChange) Then

LabelToCheck = Mid(LabelToCheck.Caption, 1, LenToChange) & "..."

LabelToCheck.ToolTipText = LabelToCheck.Caption

Else

LabelToCheck = LabelToCheck.Caption

End If

End Sub

קחו בחשבון שאת הכל עשיתי די מזמן, ולא היה לי כוח עכשיו לבדוק מה פועל ואיך בדיוק...

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

מגוון רחב של פונקציות מיון והשואות בינהם - כולל הקוד ( לא אני כתבתי, אבל זה שימושי) המימושים הם ב JAVA:

http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html

בהצלחה להחזיר את הפורום הזה לחיים..הוא באמת מת...וחבל :nixweiss:

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

שפה: PHP

תיאור: בדיקת תקינות כתובת אימייל (כתובת תיקנית: name@server.suffix)


<?php
function validEmail($email) {
if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email)){
return TRUE;
} else {
return FALSE;
}
}
?>

שפה: PHP

תיאור: Random letter. הפונקצייה מחזירה אות אקראית. ניתן להתאים לדרישות אישיות לפי כל מערך רצוי (אותיות קטנות\גדולות, מספרים, תווים...). הדוגמה באה לתאר פשוט את השימוש בבחירה הרנדומלית.


<?php
function random_letter()
{
$letters = array(1 => "a", "b", "c", "d", "e", "f", "g", "h" ,"i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$index = Key($letters);
$element = Current($letters);
$index = rand(1,26);
$random_letter = $letters[$index];
return $random_letter;
}
?>

הערה: אם תכניסו את הקוד לטאג code, ותציינו בפנים תיאור מקדים של השפה (במקרה שלי, הוספת <? php?>), הפורום בצורה אוטומטית יסמן את הקוד בצבעים מתאימים...

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

שימוש במחרוזות ב- C.

שימו לב! חשוב לאתחל בהתחלה את המחרוזת שלכם לNULL, אם לא תעשו זאת התוכנית שלכם תעוף!



#include <string.h>
int setstr(char *strtar, const char *strsou)
{
if(strtar!=NULL)
free(strtar);
strtar = (char *)malloc(sizeof(char)*(strlen(strsou)+1));
strcpy(strtar, strsou);
return 1;
}


int main()
{
char *str=NULL, *str2=NULL;
setstr(str, "hello world");
setstr(str2, "wassup?");
setstr(str, str2);
printf("%s, %s", str, str2);
}



מעכשיו אני אשתדל לשרשר את הודעותי.

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

free למקום סטטי, רעיון רע :nono:

הקוד שלך לא נכון וסתם יגרום לבעיות

נכון היה לאתחל את המצביעים ב-NULL ולא במחרוזת סטטית.

חוץ מזה strdup הוא לא ANSI-C

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

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

1. חזקות - למי שלא יודע פסקל מאפשרת לעשות רק חזקה ממעלה שניה, הפונקציה שהוספתי מאפשרת לבצע איזו חזקה שתרצו.

שימוש בפונקציה נעשה כך:


Pow(Base,Exp);

Base= בסיס החזקה

Exp= מעריך החזקה.

נגיד אני רוצה להכניס למשתנה a את הערך של 4 חזקת 3 אני ארשום:


a := Pow(4,3);

הפונקציה מחזירה ערך מסוג real.

2. מספר אקראי - לעשות מספר אקראי בפסקל זה לא משהו מסובך אבל בכל זאת עשיתי פונקציה שתקל על כך. הפונקציה מקבלת טווח מספרים ונותנת מספר אקראי מסוג integer.

שימוש בפונקציה נעשה כך:


Rnd(min,max);

min= מספר התחלתי.

max= מספר סופי.

יש להקפיד כי המספר ההראשון יהיה קטן מהשני. אם זה לא כך הפכו אותם וזה יהיה בסדר.

נגיד אני רוצה מספר אקראי בין -5 ל-20 אני ארשום:


Rnd(-5,20);

3. בדיקת מספר - הפונקציה הזו משמשת לבדיקה אם מספר הוא שלילי\חיובי\אפס. הפונקציה מחזירה ערך לפי הסוג.

מספר שלילי: -1 (מינוס אחד)

מספר חיובי: 1 (אחד)

אפס: 0 (אפס)

שימוש בפונקציה נעשה כך:


Sign(num);

num= מספר או משתנה שאתם מעוניינים לבדוק. הערך שמוחזר מסוג integer.

התקנת הספריה(unit)

תעתיקו את הקובץ MATH.PAS לתיקיית C:\TP\Units.

שימוש בספריה

כדי להשתמש בפונקציות שבספריה אתם צריכים לכתוב בתחילת התוכנית:


Uses Math;

זהו בסך הכל.... אני מקווה שתשתמשו בה לטובה, אין להוריד את הקרדיט.

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

כתובת להורדה:

http://Rar.Co.iL/files/Rar-1126452448.rar

סיסמא:

abcdez

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

PhoenixBoy, שנים לא נגעתי בפסקל אבל עד כמה שאני זוכר יש פונק' BUILD-IN שיודעת לעשות RANDOM והיא עושה בדיוק את מה שאתה תיארת (לא ראיתי את הקוד שלך...) ???

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

PhoenixBoy, שנים לא נגעתי בפסקל אבל עד כמה שאני זוכר יש פונק' BUILD-IN שיודעת לעשות RANDOM והיא עושה בדיוק את מה שאתה תיארת (לא ראיתי את הקוד שלך...) ???

האמת היא שהראנדום בפסקל נותן מספרים בין 0 למספר שכתוב בתוך הסוגריים פחות 1...

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

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

אם אתם רוצים שהטבלאות בFF ובIE יראו אותו הדבר, תרשמו בHEAD:


<style>
table {table-layout: fixed;}
</style>

שתף דיון


קישור ישיר להודעה
שתף באתרים אחרים

×
  • צור חדש...