@מוגן
מקווה שהבנתי נכון
אם תעלה אקסל דוגמא, אוכל לוודא
קליק ימני בפיבוט>אפשריות > תצוגה>פריסה קלאסית
ואז תבחור את כל העמודות (ערכים)
@מוגן
מקווה שהבנתי נכון
אם תעלה אקסל דוגמא, אוכל לוודא
קליק ימני בפיבוט>אפשריות > תצוגה>פריסה קלאסית
ואז תבחור את כל העמודות (ערכים)
@פלורידה כתב בסיסמה חזקה | פאי:
האם הספרות שנמצאות ב "פאי" נחשבות כחלשות לצורך שימוש בסיסמאות? לדוג'
@yossiz
זה מסביר האם כדאי להסתמך על פאי בכדי ליצור מזהה ייחודי כלשהו
אבל כאשר בתוצאה הסופית
מתקבל תוצאה ספרתית בלבד
למה היא מורכבת יותר לפיענוח
מאשר סיסמא באורך זהה, המכילה ספרות + אותיות גדולות + אותיות קטנות + תווים כלליים?
@פלורידה
תאתגר אותנו מה הסברא שזה אכן סיסמא חזקה
יותר מאשר סיסמא רגילה שמכילה ספרות בלבד
(נניח שבניתי סיסמא המבוססת על גימטרייה של השם הפרטי ושם המשפחה
האם זה הופך את התוצאה של הספרות 123456 למורכבות יותר לפענוח?)
מחפירה בעבר, ובדיקה שוב בהווה
הדרך היא לבצע 'העתק - הדבק' כערכים
החלק העצוב והמשעשע
שהאקסל אכן מבצע מיון,
רק שהיות והוא מורכב מנוסחה, התוצאה היא תמיד זהה
ורק סוחב זמן ומשאבים מהמחשב ומהשימוש בקובץ
מצורף מאקרו פשוט להעתקה / הדבקה כערכים של טווח נבחר
שים לב: זה בלתי הפיך
(אחרי הדבקה כערכים, לא ניתן לשחזר את הנוסחאות שהיו לפני כן, ללא בניה מחדש)
Sub Macro1()
'
' Macro1 מאקרו
'
'
Range("A1:A10").Select
Selection.Copy
Range("c1:c10").Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
הפרמטר שחפשתי
זה אינדיקציה מהיכן הפעולה בוצעה
פרט מידע שאוכל לפיו לדעת/לשער
לא שהפעולה בוצעה כל פעם ממכשיר שונה
אלא גם לדעת מה זה המכשיר הנ"ל
כגון: פעולת כניסה / יציאה בשעון נוכחות
האם עדכון הנוכחות בוצע בטאבלט המותקן בדלת הכניסה למפעל
או אולי במחשב העובד אחרי שהתיישב בניחותא בכסאו אחרי כוס קפה
או בכלל שבוצע בסאמרטפון של העובד בביתו, דקה אחרי שהתעורר / שניה לפני שהולך לישון
אני לא רוצה לחסום את הפעולות במידה ולא בוצעה ממכשיר X
אלא רק רוצה לשמור את הנתון הזה
(מהשרשור יוצא שהפתרון אמור להיות באמצעות תוסף ייעודי)
רקע כללי:
מכירים את זה
שבסופרמרקט הקופאיות לא יכולות לבצע ביטול מוצר
והם צריכות את הכרטיס מנהל,
שמסתובב ביניהם הלוך ושוב ללא שום מנהל וללא שום בקרה
כך שבעצם שלמרות שמפתח התוכנה רצה להגביל את השימוש לפעולת הביטול בהרשאות
בפועל זה חסר משמעות
כי הקלדת הקוד / העברת הכרטיס לא מהווה הוכחה ואינדיקציה שאכן המנהל זה שביצע את הפעולה
כ"כ במקומות עבודה רבים
גם בהם שיש הקפדה על רמת הרשאות מותאמת בתוכנה
בדר"כ מסתובב המידע בין העובדים על פרטי זיהוי של משתמש ברמה 1
וגם אם בשוטף כל אחד עובד עם הזיהוי שלו
בשעת הצורך (ופעמים רבות ברשות המעסיק) הוא מבצע פעולות ע"י פרטי הזיהוי של מנהל המערכת
רקע משני:
במסדי נתונים - בעת הוספת /עדכון מידע
מקובל לשמור את מזהה המשתמש שביצע את הפעולה
בגלל הנ"ל
אני תמיד שומר נתון נוסף של 'שם המחשב' שבו בוצעה הפעולה
ע"מ לקבל אינדיקציה האם זה אכן העובד עצמו שביצע את הפעולה,
או עובד אחר שביצע שימוש בסיסמא ובהרשאות של העובד השני
היות ועבדתי עד היום עם תוכנה 'לוקלית'
שהיה לי גישה מלאה למחשב בעת ההתקנה,
ויכולתי לדעת ולקבל את מלוא הפרמטרים
ולבצע השוואות ואימותים מולם
לא היה לי בעיה להשיג ולקבל את כל המידע הרלוונטי
אני כעת בתהליכי מעבר לעולם הWeb
ונפשי בשאלתי
איזה 'פרמטר' מקביל ניתן לקבל מהדפדפן
שאוכל לפיו לדעת/לשער את מקור הפעולה
משהו מעבר לפרטי זיהוי ב Login
(כתובת IP לא רלוונטית למקרה דנן)
אני לא מחפש אפשרות לחסום פעולות כלשהם
ואין לי בעיה (כרגע?...) עם המציאות שלעיתים עובד ברמה 3 מבצע פעולה שפתוחה רק לרמה 1 עם שם משתמש של המנכ"ל
אלא רק רוצה לשמור את הנתון הזה ברמה הטכנית
כדי שביום פקדי, ופקדתי...
@shraga
עמוד הסיסמאות זה לא דף שרץ בתוך הדפדפן, מבפנים?
ובלחיצה על אלמנט (סמליל העין) מופעל משהו מקומי בתוך המחשב
אאל"ט למיטב הבנתי לא ניתן לקיים תקשורת בין התוכן שרץ בדפדפן למחשב שממנו הוא פועל
(כגון: קבלת שם מחשב, וכו')
שאלה:
איך במנהל הסיסמאות של כרום
ע"מ להציג את הסיסמא - יש להזין את הסיסמת כניסה למחשב
זה לא אומר שקיים ערוץ תקשורת כלשהיא?
וא"כ האם כל אתר יכול להשתמש באימות שכזה
או לקבל מידע נוסף מהמחשב
@ek0583232948
מבדיקה שטחית לא הצלחתי להעביר קבצים בין המחשב לאנדרואיד
@ek0583232948
מהאנדרואיד למחשב
יש את החיבור לשולחן עבודה מרחוק הרגיל (RDP)
@Y-Excel-Access כתב בשיפור SHEETS & FROMS המתפקדים כאתר (מאגר בני הישיבות):
במה אפשר לשפר?
כמדומני שיועיל אם תשנה שהצפייה תהיה כל פעם על יישות בודדת
ז"א לעשות בראש השיטס פילטרים לסינון לפי העמודות
ותציג בצורה מאונכת ומעוצבת כל פעם פרטים של בחור / ה אחד בלבד
המטרה למנוע תחושה של 'טביעה' בים המידע (העין פוזלת כבר להערות / פרטים של השורה הבאה..)
ויאפשר התרכזות פרטנית להצעה המוצגת
@דאטה-בייס
יש גם את הטבלאות המעולות של מפעל טבלאות חזרה
@dovid כתב בC# איך לעצור המשך ריצת קוד, ב'catch' מפונקציה המחזירה string בקלאס:
צריך להיות קוד גנרי לכל המקרים הללו שקוראים לפונקציית הyes/no
כמדומני שאני משתמש בקוד בצורה די נכונה
ועדיין כמדומני שיש לי רצון לבצע את העצירה מהפונקציה
.
.
אשתף מהקוד עצמו (בשינויים הכרחיים)
יש לי קלאס שמכיל כדלהלן:
class Class_query_for_CheckGiven_update_insert
{
SqlConnection con = new SqlConnection(Properties.Settings.Default.con);
public string CheckGiven_resul(string query)
{
string query_if_exists = "if exists (" + query + " ) begin SELECT 'yes' as 'res' end else begin SELECT 'no' as 'res' end";
string res;
try
{
if (con.State == ConnectionState.Open) { } else { con.Open(); }
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 0;
cmd.CommandText = query_if_exists;
res = cmd.ExecuteScalar()?.ToString();
con.Close();
}
catch (Exception ex)
{
res = "error";
if (con.State == ConnectionState.Open) { con.Close(); } else { }
//טיפול בשגיאה בצורה שאינני מעוניין לפרט כרגע פה
}
return res;
}
}
.
.
בתוכנה עצמה יש לי השמה כללית בצורה הזאת:
Class_query_for_CheckGiven_update_insert checkGiven_Update_Insert = new Class_query_for_CheckGiven_update_insert();
.
.
.
ואז באירוע הלחצן אני מיישם כך:
//בדיקה האם הנתון קיים במסד
if ("yes" == checkGiven_Update_Insert.CheckGiven_resul("select 1+1 = 5))
{
//פתיחת טופס שאלה למשתמש עם אפשריות של כן - לא
user_question_form_yes_no fyn = new User_question_form_yes_no("כאן אני מכניס טקסט משתנה לפי הצורך לתצוגת המשתמש");
fyn.ShowDialog();
if (fyn.Answer() == "no")
{
return;
}
}
// המשך פעולת הקוד
@dovid כתב בC# איך לעצור המשך ריצת קוד, ב'catch' מפונקציה המחזירה string בקלאס:
אם אני מבין טוב,
אתה רוצה לגרום מתוך פונקציה לעצור קוד בפונקציה הקוראת.
אכן
הגדרה מדויקת של מה שאני מעוניין לבצע
**
דוגמא:
חנות מחשבים המוכרת מחשבים בהרכבה אישית
טבלת ההזמנות נראית כך: (בפועל היא לא נראית כך, זה דוגמא בעלמא, נא לא להתמקד באיך אמורה להיות בנויה טבלה במסד נתונים )
ביצירת הזמנה נוצרת שורה חדשה הכוללת את שם המוצר / הלקוח (שאר הנתונים בעמודות כעת בערך null)
ולאחמ"כ במשך שבועיים
מתבצע לכל שורת הזמנה
הזמנות נפרדות של הרכיבים
באירוע של הלחצן להזמנת רכיב
אני מעוניין לפני שליחת ההזמנה
לבצע בדיקה האם הרכיב כבר הוזמן
ולכן אני מריץ בדיקה מול הDB האם תאריך הזמנת רכיב פלוני הינו null
במידה וזה אכן null
אני מעוניין לבצע הזמנה
במידה וקיים תאריך
אני מעוניין להציג את הנתון למשתמש
(בתאריך x הוזמן רכיב y מספק z, האם ברצונך לבצע הזמנה חוזרת?)
היות ומדובר על עשרות לחצנים
כפי שהסביר ברהיטות ובטוב טעם @OdedDvir אין לבצע חזרה של כל הקוד בכל אירוע של לחצן, ויש למנוע הזנות משתמש שגויות, ולבצע בדיקת תקינות הקוד מראש
אלא יש לי 'קלאס' כללי לכל הטפסים בתוכנה
שמכיל פונקציה המבצעת בדיקה מול הDB
שמחזירה סטרינג (yes/no)
עד כאן הכל תקין וטוב לפי כל הכללים שציינתם
אז מה אני כן רוצה?
לי יש חשש שכן יתרחש חריג
כגון: במקרה שבו התרחש נפילת רשת רגעית בזמן ריצת השאילתא
והשאילתא מול הDB החזירה error (נזרק חריג, לא הצליחה לבצע חיבור לשרת)
שזה מסוגי השגיאות שלא קשורות אלי (?)
או שיקרה מתישהו שפספסתי, ואכן אני הוא זה ששלח שאילתא שגויה לDB
ולכן שמתי בפונקציה try/catch
בכוונה גמורה ובדעה צלולה
ע"מ לקבל את החריג
מה אני רוצה לעשות איתו?
ברמת המפתח: לנתח מדוע זה קרה, ולטפל
ברמת המשתמש:
אני מעוניין שיהיה שלושה מצבים
בקבלת ערך yes - המשך פעולה רציפה של הקוד
בקבלת ערך no - הצגת שאלה למשתמש שהערך קיים - ומה ברצונך לעשות
בקבלת ערך error - (א) להציג למשתמש שהתרחשה שגיאה, (ב) לחזור להתחלת הפונקציה, למצב של לפני לחיצה על הלחצן, (ג) להשאיר את התוכנה פתוחה ופעילה כפי שהיא
יש לי את האפשרות הלא נכונה
שבכל אירוע אני יכניס את תוצאת הפונקציה למשתנה
ואז יבצע שתי בדיקות
אם הערך הוא no - תקפיץ את חלונית השאלה
ואם הערך הוא error תקפיץ את חלונית השגיאה
למה זה לא נכון?
בדיוק כפי שאמרתם
שהחלק של הטיפול בחריג - זה חוזר על עצמו, כפול, ומיותר
לכן החלק של הטיפול בשגיאה
אני מעוניין לבצע מתוך הפונקציה - פעם אחת בלבד
@OdedDvir כתב בC# איך לעצור המשך ריצת קוד, ב'catch' מפונקציה המחזירה string בקלאס:
אתה מעוניין שאם יש ערך כלשהו בשדה בדאטא - לא יבוצע עדכון? תקרא את הערך ותבדוק אם הוא מכיל משהו.
זה אכן מה שמתרחש בחלקו הראשון של הפונקציה (מחזיר yes/no)
@OdedDvir כתב בC# איך לעצור המשך ריצת קוד, ב'catch' מפונקציה המחזירה string בקלאס:
אתה מעוניין למנוע מצב שבו שני משתמשים מנסים לכתוב בו זמנית לאותו שדה? זו בפירוש אחריות שמוטלת על ה-DB ולא צריכה להיות מנוהלת על ידי הקוד בתוכנה.
אין לי בעיה עם הכתיבה ל DB
אני רוצה לוודא שהמשתמש יודע שיש כבר נתון בDB (קופץ חלונית של המידע הקיים - האם לעדכן, כן/לא)
ושבמקרה של שגיאה, לא יתבצע דריסת מידע קיים ללא אישור המשתמש
@OdedDvir כתב בC# איך לעצור המשך ריצת קוד, ב'catch' מפונקציה המחזירה string בקלאס:
אפשר להשתמש ב-TryParse שלא זורק חריגה במקרה של כישלון המרה.
נכון, אבל אני צריך את המידע על הכשלון