@yyy כתב בהגדרת חיבור DB ב-EF:
נ.ב. עד מתי אמשיך ליפול ולשרוף שעות על השטויות הקטנות והקריטיות האלו???
זה נמשך כל החיים למרות שזה מתמעט עם הזמן
@yyy כתב בהגדרת חיבור DB ב-EF:
נ.ב. עד מתי אמשיך ליפול ולשרוף שעות על השטויות הקטנות והקריטיות האלו???
זה נמשך כל החיים למרות שזה מתמעט עם הזמן
למדתי היום דבר חדש שהפתיע אותי, לא יודע אם זה מעניין למישהו, אבל אותי זה הפתיע
אפשר בתוכנות שרצים בטרמינל לעקוב אחרי העכבר גם בלי לחיצה כלשהו
הכרתי תוכנות שמאפשרים שימוש בעכבר בטרמינל באמצעות לחיצות, אבל אף פעם לא ראיתי תוכנה שעוקבת אחרי העכבר בלי לחיצה
הנה דוגמה שכתבתי בפייתון (הזזת העכבר על גבי הטרמינל בעת שהתוכנה פועלת תשאיר עקבות, לחיצה על q כדי לצאת מהתוכנה):
from curses import (
initscr,
cbreak,
noecho,
mousemask,
getmouse,
endwin,
ALL_MOUSE_EVENTS,
REPORT_MOUSE_POSITION,
KEY_MOUSE,
)
from collections import deque
trail = deque(maxlen=20)
stdscr = initscr()
cbreak()
noecho()
stdscr.keypad(True)
mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION)
print("\033[?1003h\n")
while True:
c = stdscr.get_wch()
if c == "q":
break
if c == KEY_MOUSE:
id, x, y, z, bstate = getmouse()
trail.append((x, y))
stdscr.clear()
for x, y in trail:
stdscr.addch(y, x, "█")
stdscr.move(0, 0)
print("\033[?1003l\n")
endwin()
הנ"ל מבוסס על קוד זה ב-C
גילוי נאות: אני לא בקי בשפה. הדברים דלהלן הם התרשמויות אישיות.
א) אם אתה כבר משתמש ב-PHP, אפשר להמשיך להשתמש בלי שום נקיפות מצפון. זה לא כל כך נורא. זה לא פחות מלפשוט נבילה בשוק...
ב) יש כמה דברים טובים ב-PHP:
ג) יש כמה דברים בינוניים ב-PHP:
ד) יש כמה דברים מכוערים ממש ב-PHP:
@shraga אפשר לנסח את זה בצורה אחרת:
החלק הלא נכון בטיעון הוא "כל אחד שילם 90 שקלים. עוד 20 ש"ח שילמנו טיפ למלצר" זה לא "עוד 20 ש"ח", אלא "מתוכם 20 ש"ח".
@dovid זה לא הוגן... ידעת שאפסיק את הכל עד שאמצא את התשובה ואהיה במתח עצום כי אני חייב לענות ראשון... (כן, כן, אני ילדותי)
https://www.epochconverter.com/webkit
@mgm-ivr זה לא אמור להיות דבר קל... אז לא להיות מופתע שלא הצלחת.
כמו בכל בעיית תכנות (או כללית) הא' של הא' זה לפצל את הבעיה לחתיכות קטנות יותר ולפתור אותם בנפרד.
לשם כך, נוריד רגע את השפה מהסיפור מכיון שזה לא כל כך משנה. התשובה שלי לא יהיה ספציפית ל-PHP אלא לכל שפה. אם יש לך שאלה ספציפית בנוגע למימוש ב-PHP תשאל שוב אחרי שהבנת את העקרון הכללי.
טוב, עכשיו נקדים ונאמר א) התיעוד שלהם לוקה קצת בחסר... ב) לפי התיעוד שלהם אין שום API עבור התחברות למשתמש שלך על ידי שליחת שם משתמש וסיסמה.
(ואגב, הם מודים בפה מלא שה-API לא נוצר במחשבה תחילה עבור שימוש כ-API כללי, בעיקר זה נוצר עבור תקשורת של הפרונט-אנד עם הבק-אנד והדבר די ניכר.)
אז איך עושים בקשות API עבור המשתמש שלך?
בתיעוד יש שתי אופציות:
express.sid
.Authorization
אחרי המילה bearer
.למעשה, אפשר לעשות עוד משהו שלא כתוב בתיעוד וזה לשלוח בקשת לוגין עם הפרמטרים הנכונים ולקבל חזרה את הקוקי הנצרך.
(אני לא מאריך בכל פרט ופרט, אם משהו לא ברור תשאל. (אבל בבקשה שאלות ממוקדות ומפורטות))
@נ-נח יפה מאוד שהצלחת!
עכשיו אתה חייב להבין מה עשית כדי שתבין איך לשנות שהוא יתאים לצרכים שלך.
(אגב, הקוד כתוב בצורה לא טובה, (כמובן היא משתמשת רק לדוגמה), כי הוא טוען מיד בהרצה את כל עץ התקייות, וזה יכול להיות פעולה מאוד יקרה.
אבל זה לא כל כך משנה, כי אתה בכל מקרה לא רוצה את העץ.)
למעשה אין הרבה תועלת שאני אכתוב את הקוד בשבילך, כי ככה לא תלמוד לפתור דברים בעצמך, אבל מצד שני זה יהיה מאמץ גדול מדי בשבילי להדריך אותך בפרטות כל שלב ושלב, כתבתי רשימה של צעדים נצרכים, ואני מעלה חלק מהקוד והשארתי את השאר בשבילך לשיעורי בית...
רשימת דברים נצרכים:
PopulateListView
במקום PopulateTreeView
. התוכן של הפונקציה יאכלס את ה-listView ברשימת הקבצים ותיקיות בתיקייה הנבחרת. (יש לנו כבר קוד שעושה את זה בפונקציה TreeView1_NodeMouseClick
אז נעתיק מהקוד ההוא ונתאים אותו להקשר שלנו).treeView1.NodeMouseClick
(שזה האירוע של לחיצת עכבר על אבר של ה-treeView ע"ה, שכבר לא קיים), נאזין לאירוע listView1.ItemActivate
שזה האירוע שקורה בלחיצה כפולה על item ב-listView.ListView1_ItemActivate
ותוכנו יהיה לקבל את הפרטים על ה-item שעליו לחצת, במקרה וזה תיקייה נרענן את ה-listView להציג את רשימת התוכן של התיקייה (שוב, יש לנו קוד שיודע לעשות את זה, אז נשתמש בה), במקרה וזה קובץ נפתח את הקובץ בתוכנה ברירת מחדל (כרגע, אין לנו קוד לזה, נחפש בגוגל איך עושים את זה...).בונוסים:
קוד דוגמה שכתבתי עבור חלק מהמשימות:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DirectoryInfo info = new DirectoryInfo(@"../..");
PopulateListView(info);
this.listView1.ItemActivate += ListView1_ItemActivate;
}
private void ListView1_ItemActivate(object sender, EventArgs e)
{
ListView lv = (ListView)sender;
ListViewItem item = lv.SelectedItems[0];
if (item.Tag is DirectoryInfo)
{
DirectoryInfo info = (DirectoryInfo)item.Tag;
PopulateListView(info);
}
}
private void PopulateListView(DirectoryInfo info)
{
listView1.Items.Clear();
if (info.Exists)
{
foreach (DirectoryInfo dir in info.GetDirectories())
{
var item = new ListViewItem(dir.Name, 0)
{
Tag = dir
};
ListViewItem.ListViewSubItem[] subItems = new ListViewItem.ListViewSubItem[]
{
new ListViewItem.ListViewSubItem(item, "Directory"),
new ListViewItem.ListViewSubItem(item, dir.LastAccessTime.ToShortDateString())
};
item.SubItems.AddRange(subItems);
listView1.Items.Add(item);
}
foreach (FileInfo file in info.GetFiles())
{
var item = new ListViewItem(file.Name, 1)
{
Tag = file
};
ListViewItem.ListViewSubItem[] subItems = new ListViewItem.ListViewSubItem[]
{
new ListViewItem.ListViewSubItem(item, "File"),
new ListViewItem.ListViewSubItem(item, file.LastAccessTime.ToShortDateString())
};
item.SubItems.AddRange(subItems);
listView1.Items.Add(item);
}
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
}
}
if (strpos(file_get_contents('/path/to/file'), $mail) !== false) {
// do stuff
} else {
// do other stuff
}
@מעמד אמר בקובץ אקסס לתוצאות הבחירות:
@aiib שוב נכנסים למתח ...
סליחה על ההטפה...
ממש לא צריך להילחץ. זה בכלל ברור שאם הוא נכנס יהיה ישועה גדולה לשומרי תו"מ? ואם הוא לא נכנס יהיה מפלה? בין כך אין לנו מושג מה יהיה, עשינו את ההשתדלות שעלינו לעשות, ועכשיו השאר ביד ה'
@מעמד במקום F11 תעשה ctrl+F11.
אני לא יודע באיזה עומק אתה מכיר את תג, אבל כל חלק החלוקה לעמודים וכו' ממומש ע"י סקריפט. כמו שרואים בחלון הפקודות כתוב run file "arot.lib"
כאשר arot.lib הוא שם של סקריפט.
כאשר סקריפט רץ הוא מייצר מה שנקרא "משתנים גלובליים" בשפת התיכנות, (אפשר לראות חלק מהם ב-ctrl-k ע"י לחיצה על משתנה). בשפה פשוטה אפשר לצייר אותם כהגדרות שהסקריפט משתמש בהם.
עוד צריך לדעת שהסקריפט "תצוגה מהירה" (F11) משתמש באותם "משתנים גלובליים" של הסקריפט "הדפסה" (F2) או "הדפסה עם הערות". כאשר הסקריפט נסגר הוא מוחק אותם. עכשיו אתה מבין למה זה בעייתי להריץ F11 באמצע הרצת "הדפסה" (F2) או "הדפסה עם הערות", כי אחרי סגירת התצוגה מהירה, נמחקים כל ה"משתנים הגלובליים" שה"הדפסה" משתמש בהם ג"כ.
מעתה נבוא לביאור השגיאה:
Global symbol antunkot does not exist
הכוונה: ה"משתנה הגלובלי" antunkot לא קיים. סביר להניח שantunkot
הכוונה הוא a=arot=הערות ntunkot=נתוני כותרת
העצה לא להגיע לבעיות הוא שבמקום F11 תשתמש ב-ctrl-F11 שעובד בצורה שונה.
@מעמד אמר במי יכול לתרגם לי ?:
@yossiz יש לך כתובת מעודכנת של דניאל וויסמן ?
מה שיש לי כותב לי שהכתובת לא נמצאה
dnlwsman@netvision.net.il
https://www.prog.co.il/threads/מייל-עדכני-של-הרב-ווייסמאן.405774/
dnlwsman@gmail.com
@אלי-tza אמר באיך שואלים שאלות בפורום:
כשביקשתי לדוגמה סקריפט קצר שלא ידעתי לכתוב ואפילו תייגתי אותך
ח"ו לא כיוונתי להאשים אף אחד.
@אלי-tza אמר באיך שואלים שאלות בפורום:
כוונתי שאם במקרה אתה יודע כבר את התשובה מ-ידע קודם ואין לך טרחה חוץ מלכתוב תשובה קצרה אשמח שתחלוק איתי מידיעותיך גם אם זה סקריפט שאני לא יודע לכתוב ולא פנוי כרגע ללמוד את הנושא. וכמובן שהרבה פעמים לא קיבלתי תשובה וזה היה לי מתקבל והגיוני לחלוטין.
100 אחוז. תודה על ההארה. אזכור להיות יותר סבלני כלפי בקשות כאלו בעתיד.
@כוספים-למשיח ביקשת - קיבלת
(עכשיו תבקש שהמשיח יבוא במהרה... )
חבר'ה!!! אם משהו לא ברור או אם רוצים הרחבה בפרט מסויים, תשאלו!, (יותר משהעגל וכו'...).
@בערל (אני לא עונה בדיוק על השאלה... אבל מכיון שהזכרת את המילה "יפים" אולי הרשימה הבאה יעזור לך)
באנגלית אין לי מושג מה נקרא יפה
בעברית, הנה רשימת המומלצים שלי (עבור עימוד ספרי קודש, למטרות אחרות אני לא מחזיק את עצמי כ'מייבין'):
שים לב, כל גירסה אחרת אחרת של פרנקריל, וילנא, ורש"י יהיה פחות יפה, חלק מהם מכוערים ממש, לצערנו.
נ.ב. הכל על דעת עצמי ועל טעם וריח וכו'
בינתיים אכתוב הוראות בהנחה שאתה משתמש בגירסת PRO ומעלה של ווינדוס
מדיניות <שם משתמש>\תצורת משתמש\Adminisrative Templates\Windows Components\Internet Explorer
Prevent changing proxy settings
. לחיצה כפולה עליו.משתמשי אקסל משתמשים הרבה בתווים <
ו->
בתוך נוסחאות
כאשר מופעלת פריסת מקלדת עברי, הייעוד של המקשים מתהפך, כאשר המקש הימני מקליד את הפותח (או הסמל שמשמעותו בתוך נוסחה: "less than") והמקש השמאלי מקליד את הסוגר (או: הסמל שמשמעותו בתוך נוסחה "more than")
בד"כ (בכתיבה רגילה של פרוזה, או יותר נכון, כאשר כיוון הקטע הוא מימין לשמאל) זה רצוי, כי הפותח והסוגר בעברית נראים הפוכים,
הבעיה הוא שבנוסחאות באקסל, זה לא מה שרוצים.
להסבר התופעה ב א ר י כ ו ת עיין כאן
סקריפט שמזהה אם החלון הפעיל הוא חלון אקסל, ובמקרה שכן, הוא מחליף את המקשים שגם בעברית הם יתנהגו כמו באנגלית
קובץ EXE:
Excel Keyboard Fix.exe
[גירסא שמתקנת גם את התווים (
ו-)
]:
Excel Keyboard Fix.exe
(אפשר לשים אותו בתיקיית ההפעלה בתפריט ההתחלה והוא ירוץ אוטומטי בשעת הפעלה)
קוד המקור (בשפת AutoHotKey)
#SingleInstance force
KeyboardLayout_Hebrew := 0x40D040D
#IfWinActive ahk_exe EXCEL.EXE
>::
hwnd := WinExist("A")
currentKeyboardLayout := getKeyboardLayout(hwnd)
if (currentKeyboardLayout = KeyboardLayout_Hebrew)
{
Send <
return
}
send >
return
<::
hwnd := WinExist("A")
currentKeyboardLayout := getKeyboardLayout(hwnd)
if (currentKeyboardLayout = KeyboardLayout_Hebrew)
{
Send >
return
}
send <
return
;gets the keyboard layout for window with specified hwnd
getKeyboardLayout(hwnd, ByRef keyBoardLayout = "")
{
idThread := getWindowThreadProcessId(hwnd)
keyboardLayout := DllCall("user32.dll\GetKeyboardLayout"
, "uint", idThread, "uint")
return keyboardLayout
}
getWindowThreadProcessId(hwnd)
{
return dllCall("user32\GetWindowThreadProcessId", "Uint", hwnd)
}
נא לדווח על באגים ולהציע שיפורים באשכול זה.
(משתמשי אקסל: האם לדעתכם יש צורך להוסיף קוד דומה עבור התווים (
ו-)
?)
@מתמחה-במחשבים שהעלה את הבעיה כאן
הקוד לזיהוי פריסת מקלדת מפה
דוקטור: בוקר טוב! איך אוכל לעזור?
פציינט: משהו לא בסדר, מה עושים?...
אני ממליץ להשתמש בווינדוס עבור המכשיר האישי, לימוד מערכות לינוקס יכול להתבצע במכשירים אחרים או וירטואיליים
@UA מכיון שהשאלה סיקרנה אותי חקרתי קצת וזה מה שהעליתי בחכתי:
הצלחתי ליצור אירוע כזה דרך ה-API, לא מצאתי דרך בממשק, ואף אחרי היצירה, זה מופיע בממשק כאירוע חד פעמי. בנסיון עריכה רואים שגוגל יודע שזה אירוע חוזר כי הוא שואל אותך אם לשנות גם את האחרים. גם דרך ה-API זה לא ממש מתועד שזה עובד ולא ציפיתי שזה יעבוד, אבל עובדה שזה עובד.
דוגמת קוד JS ליצירה דרך ה-API:
var event = {
summary: 'י"ד לחודש',
description: 'ארוע זה חוזר כל חודש בי"ד לחודש.',
start: {
date: '2022-02-05'
},
end: {
date: '2022-02-05'
},
recurrence: [
'RRULE:FREQ=MONTHLY;RSCALE=HEBREW'
],
};
await calendar.events.insert({
auth,
calendarId: 'primary',
resource: event,
})
האירועים החוזרים של גוגל מורכבים מכללים שמבוססים על תקן iCalendar, תקן זה מורכב מכמה וכמה מסמכים שנקראים RFCs, חלק מהם מוסיפים על הראשונים וחלק מהם מבטלים את הראשונים.
הפיצ'ר הזה של הגדרת אירועים חוזרים לפי לוח שנה אחר חוץ מהלוח הלועזי (גרגוריאני) נכנס לתוקף ב-RFC מספר 7529, בתיעוד ה-API של גוגל כתוב שהם תוכמים ב-RFC מספר 5545, זה ה-RFC האחרון לפורמט iCalendar בלי הוספות, יש אחריו כמה הוספות כולל האפשרות ללוחי שנה אחרים. לא מתועד באיזה הוספות הם תומכים.
אבל ניסיתי עכשיו ואני רואה ש-RSCALE=HEBREW
נתמך
(אולי אפשר להוסיף את האירוע על ידי העלאת קובץ ICS, לא בדקתי את זה)