4US⌚️Tech
Open in Telegram
قناة لنشر كل ما هو جديد في مجال التكنولوجيا والمعلومات والذكاء الاصطناعي.
Show more480
Subscribers
No data24 hours
No data7 days
+430 days
Posts Archive
480
عمل إشعارات مجدولة بلغة دارت بواسطة حزمة Awesome Notifications.
لجدولة إشعار:
1. قم بإنشاء إشعار كما تفعل عادةً.
2. استخدم طريقة
schedule() لتحديد وقت جدولة الإشعار.
*مثال:*
import 'package:awesome_notifications/awesome_notifications.dart';
void main() async {
// إنشاء إشعار
Notification notification = Notification(
id: 1,
title: 'إشعار مجدول',
body: 'هذا إشعار مجدول.',
);
// جدولة الإشعار
await AwesomeNotifications().schedule(
notification: notification,
schedule: NotificationSchedule(
timeZone: await AwesomeNotifications().getLocalTimeZoneIdentifier(),
preciseTrigger: DateTime.now().add(Duration(seconds: 10)),
),
);
}
ملاحظة:
* تأكد من استخدام أحدث إصدار من مكتبة Awesome Notifications.
* لمزيد من المعلومات، يرجى الرجوع إلى وثائق Awesome Notifications الرسمية: https://pub.dev/packages/awesome_notifications
إعدادات الجدولة المتقدمة:
بالإضافة إلى الجدولة الدقيقة، يمكنك أيضًا جدولة الإشعارات باستخدام الإعدادات التالية:
* repeats: لتكرار الإشعار على فترات زمنية محددة.
* allowWhileIdle: للسماح بالإشعار حتى عندما يكون الجهاز في وضع الخمول.
* timeZone: لتحديد المنطقة الزمنية للإشعار.
مثال على الجدولة المتقدمة:
import 'package:awesome_notifications/awesome_notifications.dart';
void main() async {
// إنشاء إشعار
Notification notification = Notification(
id: 1,
title: 'إشعار مجدول متقدم',
body: 'هذا إشعار مجدول متقدم.',
);
// جدولة الإشعار
await AwesomeNotifications().schedule(
notification: notification,
schedule: NotificationSchedule(
timeZone: await AwesomeNotifications().getLocalTimeZoneIdentifier(),
repeats: true,
repeatInterval: Duration(hours: 1),
allowWhileIdle: true,
),
);
}480
+6
Cute cartoon style girl, tender and sweet. Sitting, wearing a fluffy dark purple sweatshirt with the text cristina " , long curly broun hair, Christmas hat, purple colours and light sparkles. Christmas theme in the background, snow, snowflakes, poinsettias., photo, 3d render, cinematic, poster, typography
480
public class Distance {
private final double METER_TO_FEET = 0.3048; // Conversion factor for meters to feet
private final double FEET_TO_INCHES = 12; // Conversion factor for feet to inches
private final double CM_TO_INCHES = 2.54; // Conversion factor for centimeters to inches
private double meters;
private double centimeters;
public Distance(double meters, double centimeters) {
this.meters = meters;
this.centimeters = centimeters;
}
// Converter methods
public void convertToFeetInches(double meters, double centimeters) {
double feet = meters * METER_TO_FEET;
double inches = (centimeters + meters * CM_TO_INCHES) % FEET_TO_INCHES;
System.out.println(String.format("%.2f feet, %.2f inches", feet, inches));
}
public void convertToMetersCentimeters(double feet, double inches) {
double meters = feet * METER_TO_FEET;
double centimeters = inches % CM_TO_INCHES;
meters += centimeters / CM_TO_INCHES;
System.out.println(String.format("%.2f meters, %.2f centimeters", meters, centimeters));
}
// Sum and difference methods
public Distance add(Distance other) {
double totalMeters = this.meters + other.meters;
double totalCentimeters = this.centimeters + other.centimeters;
return new Distance(totalMeters, totalCentimeters);
}
public Distance subtract(Distance other) {
double totalMeters = this.meters - other.meters;
double totalCentimeters = this.centimeters - other.centimeters;
return new Distance(totalMeters, totalCentimeters);
}
// Display methods
public void displayMetersCentimeters() {
System.out.println(String.format("%.2f meters, %.2f centimeters", this.meters, this.centimeters));
}
public void displayFeetInches() {
double feet = this.meters * METER_TO_FEET;
double inches = (this.centimeters + meters * CM_TO_INCHES) % FEET_TO_INCHES;
System.out.println(String.format("%.2f feet, %.2f inches", feet, inches));
}
public static void main(String[] args) {
// Sample usage
Distance distance1 = new Distance(10, 50);
Distance distance2 = new Distance(5, 20);
// Convert to feet and inches
distance1.displayFeetInches();
distance2.convertToFeetInches(distance2.meters, distance2.centimeters);
// Convert to meters and centimeters
distance1.convertToMetersCentimeters(3, 7);
distance2.displayMetersCentimeters();
// Calculate sum and difference
Distance totalDistance = distance1.add(distance2);
Distance difference = distance1.subtract(distance2);
// Display sum and difference in both units
System.out.println("Sum:");
totalDistance.displayMetersCentimeters();
totalDistance.displayFeetInches();
System.out.println("Difference:");
difference.displayMetersCentimeters();
difference.displayFeetInches();
}
}
480
Assignment for student: Create a class called distance. It has two methods that accept type of distances from the user (meters, centimeters) and convert it to (feet, inches) and vice-versa. Another method finds the sum and differences of the two distances, and display the result in, meters and centimeters as well as feet and inches. (1 inch
= 2.54 cm and 1 feet = 0.30 m)
480
void main ( ) ( int g - 0 , a [ 5 ] , b [ 20 ] , p = 0 , q = 0 , m = 0 , h , k , i , ql = 1 , j , u , n ; char f = ' F ' ; printf ( " ---- LRU Algorithm ---- \n " ) ; printf ( " Enter the number of pages : " ) ; scanf ( " %d " , & n ) ; printf ( " Enter td Page Numbers : " , n ) ; for ( i = 0 ; i < n ; i ++ ) scanf ( " % d " , & b [ i ] ) ; for ( i = 0 ; i < n ; i ++ ) { if ( p == 0 ) { if ( q > = 3 ) q = 0 ; a [ q ] = b [ i ] ; printf ( " \n % d " , b [ i ] ) ; printf ( " \ t" ) ; for ( h = 0 ; h < ql ; h ++ ) #include < conio.h > q ++ ; if ( q1 < 3 ) { ql = q ; // g = 1 ; } } printf ( " % d " , a [ h ] ) ; if ( ( p == 0 ) && ( q < = 3 ) ) { printf ( " > c " , f ) ; m ++ ; } p = 0 ; g = 0 ; if ( ql = 3 ) { for ( k = 0 ; k < ql ; k ++ ) { if ( b [ i + 1 ] = a [ k ] ) p = 1 ; } for ( j = 0 ; j < ql ; j ++ ) { u = 0 ; k = i ; while ( k > = ( i - 1 ) && ( k > = 0 ) ) { if ( b [ k ] == a [ j ] ) u ++ ; k-- ; } if ( u == 0 ) q = j ; } } else { for ( k = 0 ; k < q ; k ++ ) ( if ( b [ i ] == a [ k ] ) p = 1 ; } } } printf ( "\nNo of faults: %d" , m ); getch(); }
480
الكود التالي لتصحيح الأسماء في Excel:
VBA
Sub CorrectNames() ' تحديد نطاق الخلايا التي تحتوي على الأسماء Dim myRange As Range Set myRange = Range("A1:A100") ' إنشاء مصفوفة من الأسماء Dim names() As String names = myRange.Value ' تصحيح الأسماء For Each name In names ' إزالة المسافات الزائدة name = Trim(name) ' تحويل الأحرف الكبيرة إلى أحرف صغيرة name = LCase(name) ' إزالة العلامات الترقيم name = Replace(name, " ", "") name = Replace(name, "-", "") name = Replace(name, "_", "") ' تصحيح الأخطاء الشائعة If name = "mr" Then name = "mr. " ElseIf name = "mrs" Then name = "mrs. " ElseIf name = "miss" Then name = "miss. " End If ' تحديث الخلية myRange(myRange.Find(name).Row, 1).Value = name Next name End Sub
الشرح:
أولاً، نقوم بتحديد نطاق الخلايا التي تحتوي على الأسماء.
ثم، نقوم بإنشاء مصفوفة من الأسماء.
بعد ذلك، نقوم بإصلاح كل اسم في المصفوفة.
أخيرًا، نقوم بتحديث الخلايا في النطاق المحدد بالأسماء الجديدة.
الخطوات بالتفصيل:
تحديد نطاق الخلايا التي تحتوي على الأسماء:
VBA
Dim myRange As Range Set myRange = Range("A1:A100")
في هذا المثال، نحدد نطاق الخلايا من A1 إلى A100. يمكنك تغيير هذا النطاق ليناسب بياناتك.
إنشاء مصفوفة من الأسماء:
VBA
Dim names() As String names = myRange.Value
في هذا المثال، نقوم بإنشاء مصفوفة من أسماء الخلايا في النطاق المحدد. يمكنك أيضًا إنشاء مصفوفة من الأسماء يدويًا.
تصحيح الأسماء:
VBA
For Each name In names ' إزالة المساحات الزائدة name = Trim(name) ' تحويل الأحرف الكبيرة إلى أحرف صغيرة name = LCase(name) ' إزالة العلامات الترقيم name = Replace(name, " ", "") name = Replace(name, "-", "") name = Replace(name, "_", "") ' تصحيح الأخطاء الشائعة If name = "mr" Then name = "mr. " ElseIf name = "mrs" Then name = "mrs. " ElseIf name = "miss" Then name = "miss. " End If ' تحديث الخلية myRange(myRange.Find(name).Row, 1).Value = name Next name
في هذا القسم، نقوم بإجراء الإصلاحات التالية على كل اسم في المصفوفة:
إزالة المساحات الزائدة: نستخدم الدالة Trim() لإزالة المساحات الزائدة من بداية ونهاية الاسم.
تحويل الأحرف الكبيرة إلى أحرف صغيرة: نستخدم الدالة LCase() لتحويل جميع الأحرف في الاسم إلى أحرف صغيرة.
إزالة العلامات الترقيم: نستخدم الدالة Replace() لإزالة جميع المسافات، وعلامات الترقيم، والخطوط السفلية من الاسم.
تصحيح الأخطاء الشائعة: نستخدم الشرط If لإصلاح بعض الأخطاء الشائعة في أسماء الأشخاص، مثل "mr" إلى "mr. "، و"mrs" إلى "mrs. "، و"miss" إلى "miss. ".
تحديث الخلية: نستخدم الدالة Find() للعثور على الخلية التي تحتوي على الاسم الأصلي، ثم نستخدم الدالة Value لتعيين الاسم المصحح إلى تلك الخلية.
ملاحظات:
يمكنك تعديل هذا الكود لإصلاح الأخطاء الشائعة الأخرى في الأسماء.
يمكنك أيضًا استخدام هذا الكود لإصلاح الأخطاء في بيانات أخرى، مثل عناوين البريد الإلكتروني أو أرقام الهواتف.480
فيما يلي بعض المواقع المجانية لتوليد الصور بالذكاء الاصطناعي عبر كتابة النص:
Adobe Firefly
NightCafe
Bing Image Creator
Craiyon
تسمح لك هذه المواقع بإنشاء صور واقعية أو فنية أو إبداعية من خلال كتابة نص وصفي. على سبيل المثال، يمكنك كتابة "صورة لبومة تجلس على شجرة" أو "صورة لمدينة مستقبلية" أو "صورة لحيوان خيالي". سيستخدم الذكاء الاصطناعي النص الخاص بك لإنشاء صورة تلبي متطلباتك.
إليك كيفية استخدام أحد هذه المواقع:
انتقل إلى الموقع وافتح حسابًا مجانيًا.
اكتب النص الوصفي للصورة التي تريد إنشائها.
انقر فوق زر إنشاء الصورة.
بمجرد إنشاء الصورة، يمكنك حفظها أو تنزيلها أو مشاركتها.
فيما يلي بعض النصائح لاستخدام هذه المواقع:
كن محددًا في نصك الوصفي. كلما كان نصك أكثر تحديدًا، كان الذكاء الاصطناعي أكثر قدرة على إنشاء صورة تلبي متطلباتك.
جرب استخدام كلمات وتعبيرات مختلفة. سيؤدي ذلك إلى إنشاء صور متنوعة أكثر.
لا تخف من أن تكون خلاقًا. يمكنك استخدام هذه المواقع لإنشاء صور فريدة ومثيرة للاهتمام.
480
الكود التالي يقارن مصفوفة من الأرقام ويستخرج الأرقام الزوجية والأرقام الفردية:
Java
import java.util.Arrays; public class NumberComparison { public static void main(String[] args) { // إنشاء مصفوفة من الأرقام int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // إنشاء مصفوفات جديدة لحفظ الأرقام الزوجية والأرقام الفردية int[] evenNumbers = new int[numbers.length]; int[] oddNumbers = new int[numbers.length]; // مقارنة كل رقم في المصفوفة الأصلية for (int i = 0; i < numbers.length; i++) { // إذا كان الرقم زوجيًا، أضفه إلى مصفوفة الأرقام الزوجية if (numbers[i] % 2 == 0) { evenNumbers[i] = numbers[i]; } // إذا كان الرقم فرديًا، أضفه إلى مصفوفة الأرقام الفردية else { oddNumbers[i] = numbers[i]; } } // طباعة الأرقام الزوجية System.out.println("الأرقام الزوجية:"); System.out.println(Arrays.toString(evenNumbers)); // طباعة الأرقام الفردية System.out.println("الأرقام الفردية:"); System.out.println(Arrays.toString(oddNumbers)); } }
الإخراج:
الأرقام الزوجية: [2, 4, 6, 8, 10] الأرقام الفردية: [1, 3, 5, 7, 9]
شرح الكود:
أولاً، نقوم بإنشاء مصفوفة من الأرقام.
ثم، نقوم بإنشاء مصفوفات جديدة لحفظ الأرقام الزوجية والأرقام الفردية.
بعد ذلك، نقوم بمقارنة كل رقم في المصفوفة الأصلية.
إذا كان الرقم زوجيًا، فإننا نضيفه إلى مصفوفة الأرقام الزوجية.
إذا كان الرقم فرديًا، فإننا نضيفه إلى مصفوفة الأرقام الفردية.
أخيرًا، نقوم بطباعة الأرقام الزوجية والأرقام الفردية.
ملاحظات:
يمكننا استخدام طريقة Arrays.sort() لفرز كل من مصفوفات الأرقام الزوجية والأرقام الفردية.
يمكننا استخدام حلقات for-each بدلاً من حلقات for القياسية.480
أفضل مواقع الاستضافة
تتوفر العديد من مواقع الاستضافة على الإنترنت، ولكل منها مزاياها وعيوبها. فيما يلي قائمة بأفضل مواقع الاستضافة مع المزايا والعيوب لكل منها:
1. Bluehost
المزايا:
أسعار معقولة
أداء جيد
دعم عملاء جيد
العيوب:
بعض الميزات محدودة في الخطط المجانية والمنخفضة السعر
2. HostGator
المزايا:
أسعار معقولة
أداء جيد
مجموعة واسعة من الميزات
العيوب:
بعض الميزات محدودة في الخطط المجانية والمنخفضة السعر
3. SiteGround
المزايا:
أداء ممتاز
دعم عملاء جيد
مجموعة واسعة من الميزات
العيوب:
الأسعار أعلى من بعض المنافسين
4. GoDaddy
المزايا:
سمعة جيدة
مجموعة واسعة من الميزات
العيوب:
الأسعار أعلى من بعض المنافسين
بعض المراجعات السلبية حول الدعم
5. A2 Hosting
المزايا:
أداء ممتاز
دعم عملاء جيد
مجموعة واسعة من الميزات
العيوب:
الأسعار أعلى من بعض المنافسين
معايير اختيار موقع الاستضافة
عند اختيار موقع استضافة، يجب مراعاة المعايير التالية:
السعر: تختلف أسعار الاستضافة بشكل كبير من موقع لآخر. من المهم اختيار موقع يوفر خططًا بأسعار معقولة تلبي احتياجاتك.
الأداء: من المهم اختيار موقع يوفر أداءً جيدًا لموقعك الإلكتروني. سيؤدي ذلك إلى تقليل وقت تحميل الصفحة وتحسين تجربة المستخدم.
الميزات: تقدم العديد من مواقع الاستضافة مجموعة واسعة من الميزات، مثل شهادات SSL، ودعم قواعد البيانات، وأدوات التحرير، وأدوات التسويق. اختر موقعًا يوفر الميزات التي تحتاجها.
الدعم: من المهم اختيار موقع يقدم دعمًا عملاء جيدًا في حالة حدوث أي مشاكل.
نصائح لاختيار موقع الاستضافة المناسب
فيما يلي بعض النصائح لاختيار موقع الاستضافة المناسب:
قارن بين خطط الاستضافة المختلفة من مختلف المواقع.
اقرأ المراجعات حول مواقع الاستضافة المختلفة.
اسأل أصدقائك أو زملائك عن تجاربهم مع مواقع الاستضافة المختلفة.
اطلب عرضًا من موقع الاستضافة قبل الاشتراك.
كيفية اختيار موقع الاستضافة المناسب لاحتياجاتك
يعتمد اختيار موقع الاستضافة المناسب على احتياجات موقعك الإلكتروني. إذا كان موقعك الإلكتروني صغيرًا وبسيطًا، فيمكنك اختيار خطة استضافة أساسية بسعر معقول. إذا كان موقعك الإلكتروني أكبر أو أكثر تعقيدًا، فستحتاج إلى خطة استضافة أكثر تقدمًا.
فيما يلي بعض الأسئلة التي يمكنك طرحها على نفسك عند اختيار موقع الاستضافة المناسب:
ما حجم موقعي الإلكتروني؟
ما نوع المحتوى الذي يحتوي عليه موقعي الإلكتروني؟
كم عدد الزوار المتوقعين لموقعي الإلكتروني؟
ما نوع الميزات التي أحتاجها لموقعي الإلكتروني؟
ما هو ميزانيتي؟
بالإجابة على هذه الأسئلة، يمكنك تضييق نطاق خياراتك واختيار موقع الاستضافة المناسب لاحتياجاتك.
480
تعديل الكود
// Prepare the data for notification
$notificationsData = [];
foreach ($enterprises as $enterprise) {
$notificationData = [
'name_enterprise' =< $enterprise-
480
class Queue {
int front, rear, size;
int capacity;
int[] array;
public Queue(int capacity) {
this.capacity = capacity;
front = this.size = 0;
rear = capacity - 1;
array = new int[this.capacity];
}
boolean isFull(Queue queue) {
return (queue.size == queue.capacity);
}
boolean isEmpty(Queue queue) {
return (queue.size == 0);
}
void enqueue(int item) {
if (isFull(this))
return;
this.rear = (this.rear + 1) % this.capacity;
this.array[this.rear] = item;
this.size = this.size + 1;
}
int dequeue() {
if (isEmpty(this))
return Integer.MIN_VALUE;
int item = this.array[this.front];
this.front = (this.front + 1) % this.capacity;
this.size = this.size - 1;
return item;
}
void display() {
for (int i = front; i <= rear; i++) {
System.out.print(this.array[i] + " ");
}
System.out.println();
}
void deleteReplica() {
int[] tempArray = new int[this.capacity];
int tempSize = 0;
for (int i = front; i <= rear; i++) {
boolean isDuplicate = false;
for (int j = front; j < i; j++) {
if (this.array[i] == this.array[j]) {
isDuplicate = true;
break;
}
}
if (!isDuplicate) {
tempArray[tempSize] = this.array[i];
tempSize++;
}
}
this.array = tempArray;
this.front = 0;
this.rear = tempSize - 1;
this.size = tempSize;
}
}
public class Main {
public static void main(String[] args) {
Queue Q = new Queue(10);
int[] A = {15, 20, 25, 33, 15, 80, 45, 33, 15, 25};
for (int i = 0; i < A.length; i++) {
Q.enqueue(A[i]);
}
System.out.print("Items in the queue: ");
Q.display();
Q.deleteReplica();
System.out.print("Items in the queue after removing duplicates: ");
Q.display();
}
}
480
A. Inside the class Queue a
bcste
B. inside the main function:
should remove duplicztes integers from the Queue.
e function DeleteReplica. This function
1. Define the objects Q from the class Queue.
2. Define the array of int A. Initial values: {15,20, 25,33,15, 80, 45
,33, 15, 25 ).
3. Enqueue each integer in A inside the object Q.
4. Call the function display for the object Q.
eig
5. Call the function DeleteReplica for the object Q.
6. Call the function display for the object Q.
Items in the queue : [ 15 20 25 33 15 80 45 33 15 25]
Items in the queue :[ 15 20 25 33 80 45]
480
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.cyan);
}
});
greenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.GREEN);
}
});
blueButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.magenta);
}
});
yellowButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.magenta);
}
});
add(inputPanel, BorderLayout.SOUTH);
add(panel, BorderLayout.PAGE_START);
setVisible(true);
}
private void sendMessage() {
try {
Socket socket = new Socket("localhost", 1234);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = textField.getText();
out.println(message);
String response = in.readLine();
textArea.append("Server: " + response + "\n");
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void clearMessages() {
textArea.setText("");
}
public static void main(String[] args) {
new Client();
}
}
480
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.Socket;
public class Client extends JFrame {
private JTextArea textArea;
private JTextField textField;
private JButton sendButton;
private JRadioButton redButton;
private JRadioButton greenButton;
private JRadioButton blueButton;
private JRadioButton yellowButton;
private JButton clearButton;
private JRadioButton radioButton1;
private JRadioButton radioButton2;
private JRadioButton radioButton3;
private JRadioButton radioButton4;
private JRadioButton radioButton5;
private Label l1;
private Label l2;
public Client() {
setTitle("Client");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600, 400);
setLayout(new BorderLayout());
textArea = new JTextArea();
add(new JScrollPane(textArea), BorderLayout.CENTER);
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new FlowLayout());
JPanel panel = new JPanel();
l1=new Label("enter your of birthday here:");
inputPanel.add(l1);
textField = new JTextField(10);
inputPanel.add(textField);
redButton = new JRadioButton("cyan");
redButton.setBounds(10, 220, 80, 30);
add(redButton);
greenButton = new JRadioButton("Green");
greenButton.setBounds(100, 220, 80, 30);
add(greenButton);
blueButton = new JRadioButton("Blue");
blueButton.setBounds(190, 220, 80, 30);
add(blueButton);
yellowButton = new JRadioButton("magenta");
yellowButton.setBounds(280, 220, 80, 30);
add(yellowButton);
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(redButton);
buttonGroup.add(greenButton);
buttonGroup.add(blueButton);
buttonGroup.add(yellowButton);
sendButton = new JButton("Send");
sendButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendMessage();
}
});
inputPanel.add(sendButton);
clearButton = new JButton("Clear");
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clearMessages();
}
});
inputPanel.add(clearButton);
add(textArea, BorderLayout.CENTER);
add(inputPanel, BorderLayout.SOUTH);
radioButton1 = new JRadioButton("0-12");
radioButton2 = new JRadioButton("13-19");
radioButton3 = new JRadioButton("20-60");
radioButton4 = new JRadioButton("61-100");
radioButton5 = new JRadioButton("Other");
buttonGroup.add(redButton);
buttonGroup.add(yellowButton);
buttonGroup.add(blueButton);
buttonGroup.add(greenButton);
panel.add(redButton);
panel.add(yellowButton);
panel.add(greenButton);
panel.add(blueButton);
// Start the timer
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
l2=new Label("Timer: " + java.time.LocalTime.now() + "\n");
panel.add(l2);
}
});
timer.start();
// Add action listener to radio buttons
redButton.addActionListener(new ActionListener() {
@Override
480
});
add(panel, BorderLayout.PAGE_START);
add(textArea, BorderLayout.CENTER);
add(inputPanel, BorderLayout.SOUTH);
setVisible(true);
try {
ServerSocket serverSocket = new ServerSocket(1234);
Socket socket = serverSocket.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
while (true) {
String message = reader.readLine();
if (message == null) {
break;
}
int yearOfBirth = Integer.parseInt(message);
int age = calculateAge(yearOfBirth);
String response;
if (age < 0 || age > 100) {
response = "You are not human";
} else if (age >= 0 && age <= 12) {
response = "You are a child";
} else if (age >= 13 && age <= 19) {
response = "You are a teenager";
} else if (age >= 20 && age <= 60) {
response = "You are an adult";
} else {
response = "You are a wise human";
}
textArea.append("Client: " + message + "\n");
textArea.append("Server: Your age is " + age + ", " + response + "\n");
if (redButton.isSelected()) {
textArea.setBackground(Color.RED);
} else if (greenButton.isSelected()) {
textArea.setBackground(Color.GREEN);
} else if (blueButton.isSelected()) {
textArea.setBackground(Color.BLUE);
} else if (yellowButton.isSelected()) {
textArea.setBackground(Color.YELLOW);
}
writer.println(response);
}
socket.close();
serverSocket.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
private int calculateAge(int yearOfBirth) {
LocalDate currentDate = LocalDate.now();
LocalDate birthDate = LocalDate.of(yearOfBirth, 1, 1);
return Period.between(birthDate, currentDate).getYears();
}
public static void main(String[] args) {
Server server = new Server();
server.setVisible(true);
}
}
480
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.time.LocalDate;
import java.time.Period;
import java.awt.*;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
public class Server extends JFrame {
private JTextArea textArea;
private JRadioButton redButton;
private JRadioButton greenButton;
private JRadioButton blueButton;
private JRadioButton yellowButton;
private JButton clearButton;
private Label la3;
public Server() {
setTitle("Server");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
textArea = new JTextArea();
textArea.setEditable(false);
add(textArea, BorderLayout.CENTER);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new FlowLayout());
la3=new Label("select color here");
add(la3);
redButton = new JRadioButton("cyan");
redButton.setBounds(10, 220, 80, 30);
add(redButton);
greenButton = new JRadioButton("Green");
greenButton.setBounds(100, 220, 80, 30);
add(greenButton);
blueButton = new JRadioButton("blue");
blueButton.setBounds(190, 220, 80, 30);
add(blueButton);
yellowButton = new JRadioButton("magenta");
yellowButton.setBounds(280, 220, 80, 30);
add(yellowButton);
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(redButton);
buttonGroup.add(greenButton);
buttonGroup.add(blueButton);
buttonGroup.add(yellowButton);
panel.add(la3);
panel.add(redButton);
panel.add(yellowButton);
panel.add(greenButton);
panel.add(blueButton);
clearButton = new JButton("Clear");
clearButton.setBounds(150, 260, 100, 30);
add(clearButton);
inputPanel.add(clearButton);
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.setText("");
}
});
// Add action listener to radio buttons
redButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.cyan);
}
});
greenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.GREEN);
}
});
yellowButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.magenta);
}
});
blueButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setBackground(Color.BLUE);
}
480
بالطبع! إليك بعض المواقع التي تستخدم الذكاء الاصطناعي لإنشاء تصاميم جرافيكية مجانًا:
منصة تصميمك:
منصة عربية تستخدم الذكاء الاصطناعي لإنشاء تصاميم فنية وجرافيكية مميزة. يمكنك استخدامها لتصميم الشعارات، البطاقات الشخصية، الملصقات، وأكثر1
Picasso AI:
يمكن لـ Picasso AI إنشاء صور وأعمال فنية أصلية واقعية تمامًا من وصف نصي مجانًا. يمكنك إنشاء أعمال فنية وصور ولوحات مذهلة باستخدام الذكاء الاصطناعي بسهولة وسرعة2
Adobe Firefly:
يقدم Adobe Firefly مصمم الرسومات بالذكاء الاصطناعي مجانًا على الإنترنت. يمكنك استخدامه لإنشاء تصاميم جرافيكية مبتكرة3
استخدم هذه المواقع لتحويل أفكارك إلى تصاميم جذابة ومبتكرة. بالتوفيق! 😊
480
بالطبع! هنا بعض الخيارات لتوليد أرقام جهات الاتصال:
توليد أرقام عشوائية:
يمكنك استخدام لغة البرمجة المفضلة لديك (مثل C++, Python، أو JavaScript) لتوليد أرقام عشوائية. على سبيل المثال، في Python يمكنك استخدام مكتبة random لإنشاء أرقام عشوائية.
import random def generate_phone_number(): area_code = random.randint(100, 999) first_part = random.randint(100, 999) second_part = random.randint(1000, 9999) return f"({area_code}) {first_part}-{second_part}" print(generate_phone_number())
استخدام أدوات عبر الإنترنت:
يمكنك استخدام مولدات الأرقام عبر الإنترنت مثل منشئ نماذج اتصال من Jotform لإنشاء نماذج جاهزة لجهات الاتصال.
استيراد قائمة جهات الاتصال من ملف Excel:
يمكنك تنزيل قائمة جاهزة من هنا واستخدامها كنقطة انطلاق.
إنشاء رمز QR لجهة الاتصال:
يمكنك استخدام مولد رموز QR مثل باركود سريع مخصص عالي الوضوح لإنشاء رموز QR تحتوي على معلومات جهات الاتصال.
اختر الخيار الذي يناسب احتياجاتك ومتطلبات مشروعك. 😊