اذهب إلى المحتوى

Ahmed Sadek Elamine Touahria

الأعضاء
  • المساهمات

    510
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    5

آخر يوم ربح فيه Ahmed Sadek Elamine Touahria هو نوفمبر 15 2022

Ahmed Sadek Elamine Touahria حاصل على أكثر محتوى إعجابًا!

3 متابعين

المعلومات الشخصية

  • النبذة الشخصية
    مهندس برمجيات

آخر الزوار

1587 زيارة للملف الشخصي

إنجازات Ahmed Sadek Elamine Touahria

عضو نشيط

عضو نشيط (3/3)

240

السمعة بالموقع

39

إجابات الأسئلة

  1. الخطأ يوضح أن المتغير sheet غير معرف وهذا واضح ، ﻷنك تقوم بإستدعاءه من دالة أخرى . لتصحيح الخطأ قم بإرجاع المتغير في الدالة openFile بهذا الشكل def openFile(): filepath = filedialog.askopenfilename(initialdir="C:\\Users\\Cakow\\PycharmProjects\\Main",title="Open file okay?",filetypes= (("text files","*.xlsx"),("all files","*.*"))) wb = load_workbook(filepath) sheet = wb.active return sheet ثم في الدالة الثانية def a(): sheet = openFile() # استرجاع المتغير abc=sheet.cell(row=9,column=4).value print(abc)
  2. GB و GB ، وحدات قياس السعة والذاكرة يجب أن تكون قد واجهت بالفعل الرموز GB أو GB ، إما في بيئتك المهنية ، على عبوة مفتاح USB الخاص بك على سبيل المثال ، أو حتى في المنزل ، على الصندوق.من القرص الصلب الخارجي أو كمبيوتر محمول. المصورون أيضًا على دراية بهذه النقوش التي يتم عرضها غالبًا على ملصق بطاقة SD الخاصة بأجهزتهم. لكن ماذا يعني هذان الحرفان؟ في عالم الحوسبة ، يرمز GB إلى "جيجابايت" ، أو ما يعادل مليار بايت. GB تعني غيغا بايت ، حرفيا مليار بايت. وحدات البايت والثماني وحدات قياس تستخدم لتقييم الذاكرة أو سعة التخزين للأجهزة الرقمية. الثماني بتات هي الترجمة الفرنسية للمصطلح الإنجليزي "بايت". لذلك فإن GB و Go اختصارات تعني نفس الشيء تمامًا!
  3. هناك علاقة واحد لكثير بين الموعد والطبيب أو بما تُسمى Foreingkey class Booking(models.Model): doctor = models.ForeignKey(Doctor,on_delete=models.CASCADE) # هنا تكون العلاقة ثم يمكنك الإستعلام عن جدول المواعيد حسب العيادة views.py def bookings(request,id): doctor = Doctor.objects.get(id=id) bookings = Booking.objects.filter(doctor=doctor) #جلب المواعيد حسب العيادة او الطبيب
  4. يقوم تطبيق Text to Speech بتحويل النص المكتوب على الشاشة إلى كلام كما لو كنت قد كتبت "Hello World" على الشاشة وعندما تضغط على الزر سيتحدث "Hello World". تُستخدم ميزة تحويل النص إلى كلام بشكل شائع كميزة إمكانية الوصول لمساعدة الأشخاص الذين يواجهون صعوبة في قراءة النص على الشاشة ، ولكنها أيضًا مناسبة لأولئك الذين يرغبون في قراءتها أيضًا. لقد أصبحت هذه الميزة ميزة شائعة جدًا ومفيدة للمستخدمين. الخطوة الأولى: إنشاء مشروع جديد الخطوة الثانية: العمل مع ملف activity_main.xml انتقل إلىapp -> res -> layout -> activity_main.xml وقم بتعيين تخطيط التطبيق. في هذا الملف ، أضف EditText لإدخال النص من المستخدم ، زر ، لذلك عندما ينقر المستخدم على الزر ، يتم تحويله إلى كلام وعرض نص لعرض نص Hsoub. يوجد أدناه الكود الكامل لملف activity_main.xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_margin="30dp" tools:context=".MainActivity"> <!--To add text in the app--> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/Text" android:layout_marginBottom="20dp" android:hint="Enter Any Sentence" android:gravity="center" android:textSize="16dp"/> <!--when you press this button it will convert text into speech--> <Button android:layout_width="wrap_content" android:id="@+id/btnText" android:layout_height="wrap_content" android:text="Click Here" android:layout_gravity="center"/> <!--To display the name of Hsoub --> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="70dp" android:gravity="center_horizontal" android:text="Hsoub" android:textColor="@android:color/holo_green_dark" android:textSize="36sp" /> </LinearLayout> الخطوة 3: العمل مع ملف MainActivity.java انتقل إلى التطبيق -> java -> com.example.GFG (اسم الحزمة) -> قسم MainActivity.java. انضم الآن إلى Button و Edittext إلى كود Java وتضاف التعليقات داخل الكود لفهم الكود بسهولة. يوجد أدناه الكود الكامل لملف MainActivity.java. import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.view.View; import android.widget.Button; import android.widget.EditText; import java.util.Locale; public class MainActivity extends AppCompatActivity { EditText Text; Button btnText; TextToSpeech textToSpeech; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Text = findViewById(R.id.Text); btnText = findViewById(R.id.btnText); // إنشاء كائن textToSpeech وإضافة ميزات إليه textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int i) { // إذا لم يتم العثور على خطأ ، فسيتم تشغيله فقط if(i!=TextToSpeech.ERROR){ // لاختيار لغة الكلام textToSpeech.setLanguage(Locale.UK); } } }); // مضيفا OnClickListener btnText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textToSpeech.speak(Text.getText().toString(),TextToSpeech.QUEUE_FLUSH,null); } }); } }
  5. تُستخدم الوظيفة exit () لإنهاء تنفيذ البرنامج والعودة إلى نظام التشغيل. يخرج رمز الإرجاع "0" من البرنامج بدون أي رسالة خطأ ، لكن الرموز الأخرى تشير إلى أن النظام يمكنه معالجة رسائل الخطأ. الكتابة العامة void exit(int return_code); مثال توضيحي #include <stdlib.h> #include <stdio.h> int main() { char choice; choice = getchar(); if(choice=='Q') //Q عند كتابة الحرف { exit(0); //سيتم الخروج من البرنامج } else { printf("Forget Code"); //أعد المحاولة } return 0; }
  6. نحيطك علما بأن في أكاديمية حسوب لانقوم بالإجابة على الأسئلة الإمتحانية ، بل نساعد على حل المشاكل البرمجية . لذلك انصحك ان تقوم بالمحاولة على حل هذا السؤال وإن وجدت مشكل يمكنك إرفاقه هنا حتى يمكننا مساعدتك
  7. مرحبا جبر ، في الحقيقة لا يوجد مسار معين لتعلم git و github لدى أكادمية حسوب ولكن يمكنك الإطلاع على مقالات الأكاديمية والتي بدورها ستساعدك بدون شك حول هذا الموضوع ستجد المزيد من هنا
  8. لا يمكن هذا ، حاولي الإجابة على هذا السؤال ثم إذا ظهر أي مشكل يمكنكي طرحه هنا .
  9. هذا حل بسيط بلغة بايثون def function(a, b): a = str(a) # نحول الرقم إلى سلسلسة نصية حتى نضيف اليها ارقام بجانبها for i in range(b): # نقوم بعمل حلقة تكرارية حسب العدد الثاني a +="0" # نضيف العدد صفر من اليمين return a[::-1] # ثم نرجع سلسة معكوسة حتى نحقق المطلوب print(function(1,5))
  10. اضبط مساحة المحتوى لحقل النص وقم بلف padding لأن نوع الإدخال الخاص به هو Widget TextField( decoration: InputDecoration( contentPadding: EdgeInsets.only(top: 20), // التحكم في البادينغ للنص isDense: true, hintText: "Email", prefixIcon: Padding( padding: EdgeInsets.only(top: 15), // التحكم في موقع الأيقونة child: Icon(Icons.help_outline), ), );
  11. const في سياق Flutter يوصى باستخدام مُنشئ ثابت كلما أمكن ذلك عند إنشاء عناصر واجهة مستخدم Flutter. السبب هو زيادة الأداء ، حيث يمكن لـ Flutter حفظ بعض الحسابات من خلال فهم أنه يمكن إعادة استخدام هذه الأداة من إعادة رسم سابقة في الحالية ، لأنها قيمة ثابتة. فيما يلي مقال مثير جدًا للاهتمام بقلم Crizant Lai يحلل تأثير أداء استخدام عنصر واجهة مستخدم مع أو بدون مُنشئ ثابت. أثناء الاختبار ، سأُنشئ شاشتين لعرض الشعار المتحرك ، تستخدم إحداهما المُنشئ الثابت لعنصر واجهة مستخدم الصورة: const Image( width: 100, height: 100, image: AssetImage('assets/logo.png'), ) والآخر بدون كلمة const. يتم تغليف الشعار داخل عنصر واجهة مستخدم AnimatedPositioned ، ويتم تحديث موضعه مرة واحدة في الثانية. ثم نقوم بتشغيل التطبيق باستخدام علامة --profile ، وفحص علامة التبويب "الأداء" و "الذاكرة" في Dart DevTools. استنتاج يمكننا أن نرى أنه باستخدام مُنشئ ثابت ، يكون معدل الإطارات في الثانية أعلى بنسبة 8.4٪ ، واستخدام الذاكرة أقل بنسبة 20٪ تقريبًا ، في حالة 1000 شعار. على الرغم من أن الأرقام كبيرة جدًا ، إلا أن "النعومة" التي لاحظتها أثناء الاختبار متشابهة جدًا. كما أنه من غير الواقعي وجود 1000 عنصر واجهة مستخدم في الشاشة. بالنسبة إلى التطبيق المتوسط ، لن يكون هناك سوى العشرات من الأدوات المصغّرة في كل شاشة ، ولا يحتوي سوى جزء منها على مُنشئ ثابت. إذا كنت حقًا بحاجة إلى تقديم مثل هذا العدد الكبير من الكائنات ، فمن الأفضل استخدام Canvas بدلاً من ذلك.
  12. من جانب السيرفر فإن MQTT هي من أقوى تقنيات الوقت الفعلي والتي تعتمد عليها أغلب شركات العالم مثل أمازون وجوجل وغيرها . حيث توفر أداء عالي وتكلفة أقل والكثير من الميزات
  13. Flutter Google Map مع تتبع الموقع المباشر - أسلوب أوبر الإعداد الأولي تأكد من إعداد بيئتك وفقًا لذلك لتمكين تتبع الموقع على كل من IOS و Android باتباع الخطوات الواردة في README الخاص بالحزمة فيما يتعلق بملف بيان Android و iOS Info.plist. بمجرد الإعداد ، تبدو التبعيات مثل .... dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 flutter_polyline_points: ^1.0.0 google_maps_flutter: ^2.1.7 location: ^4.4.0 ... خريطة جوجل 🗺 قم بإنشاء StatefulWidget يسمى OrderTrackingPage مع فئة الحالة المقابلة ، حيث قمت باستيراد الحزم المطلوبة بالإضافة إلى بعض المصدر الثابت وموقع الوجهة import 'dart:async'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; class OrderTrackingPage extends StatefulWidget { const OrderTrackingPage({Key? key}) : super(key: key); @override State<OrderTrackingPage> createState() => OrderTrackingPageState(); } class OrderTrackingPageState extends State<OrderTrackingPage> { final Completer<GoogleMapController> _controller = Completer(); static const LatLng sourceLocation = LatLng(37.33500926, -122.03272188); static const LatLng destination = LatLng(37.33429383, -122.06600055); @override Widget build(BuildContext context) { return Scaffold( body: ... GoogleMap widget will be here ..., ); } } أنشئ أداة GoogleMap وعيّن موقع الكاميرا الأولي على موقع المصدر. تحتاج الخريطة إلى التكبير قليلاً ، لذا اضبطها على 13.5. نحتاج إلى علامة / دبوس لفهم الموقع الدقيق. تحديد علامة وتعيين موضعها إلى موقع المصدر. للوجهة ، أضف علامة / دبوس آخر. GoogleMap( initialCameraPosition: const CameraPosition( target: sourceLocation, zoom: 13.5, ), markers: { const Marker( markerId: MarkerId("source"), position: sourceLocation, ), const Marker( markerId: MarkerId("destination"), position: destination, ), }, onMapCreated: (mapController) { _controller.complete(mapController); }, ), رسم اتجاه الطريق 〰 الشيء التالي الذي أريد القيام به هو رسم خط من الوجهة إلى المصدر. قم بإنشاء قائمة فارغة تسمى polylineCoordinates. قم بإنشاء مثيل من PolylinePoints ووظيفة غير متزامنة تسمى getPolyPoints. تقوم طريقة getRouteBetweenCoordinates بإرجاع قائمة النقاط متعددة الخطوط. كانت مواقع مفتاح Google API والمصدر والوجهة مطلوبة. إذا لم تكن النقاط فارغة ، نقوم بتخزينها في إحداثيات متعددة الخطوط. List<LatLng> polylineCoordinates = []; void getPolyPoints() async { PolylinePoints polylinePoints = PolylinePoints(); PolylineResult result = await polylinePoints.getRouteBetweenCoordinates( google_api_key, // Your Google Map Key PointLatLng(sourceLocation.latitude, sourceLocation.longitude), PointLatLng(destination.latitude, destination.longitude), ); if (result.points.isNotEmpty) { result.points.forEach( (PointLatLng point) => polylineCoordinates.add( LatLng(point.latitude, point.longitude), ), ); setState(() {}); } } على initState استدعاء getPolyPoints @override void initState() { getPolyPoints(); super.initState(); } العودة إلى أداة GoogleMap ، حدد الخطوط المتعددة. GoogleMap( ... polylines: { Polyline( polylineId: const PolylineId("route"), points: polylineCoordinates, color: const Color(0xFF7B61FF), width: 6, ), }, ), تحديثات الموقع في الوقت الحقيقي على الخريطة 🔴 نصل الآن إلى الجزء الأكثر إثارة ، نحن بحاجة إلى موقع الجهاز. إنشاء متغير nullable يسمى currentLocation. ثم تقوم دالة تسمى getCurrentLocation، Inside، بإنشاء مثيل للموقع. بمجرد أن نحصل على الموقع ، قم بتعيين الموقع الحالي ليكون مساويًا للموقع. عند تغيير الموقع ، قم بتحديث الموقع الحالي. اجعلها مرئية للخريطة المسماة setState. LocationData? currentLocation; void getCurrentLocation() async { Location location = Location(); location.getLocation().then( (location) { currentLocation = location; }, ); GoogleMapController googleMapController = await _controller.future; location.onLocationChanged.listen( (newLoc) { currentLocation = newLoc; googleMapController.animateCamera( CameraUpdate.newCameraPosition( CameraPosition( zoom: 13.5, target: LatLng( newLoc.latitude!, newLoc.longitude!, ), ), ), ); setState(() {}); }, ); } تأكد من استدعاء getCurrentLocation على initState. void initState() { getPolyPoints(); getCurrentLocation(); super.initState(); } إذا كان CurrentLocation فارغًا ، فسيتم عرض نص التحميل. أيضًا ، أضف علامة / دبوسًا آخر للموقع الحالي بالإضافة إلى تغيير موضع الكاميرا الأولي إلى الموقع الحالي. body: currentLocation == null ? const Center(child: Text("Loading")) : GoogleMap( initialCameraPosition: CameraPosition( target: LatLng( currentLocation!.latitude!, currentLocation!.longitude!), zoom: 13.5, ), markers: { Marker( markerId: const MarkerId("currentLocation"), position: LatLng( currentLocation!.latitude!, currentLocation!.longitude!), ), const Marker( markerId: MarkerId("source"), position: sourceLocation, ), const Marker( markerId: MarkerId("destination"), position: destination, ), }, onMapCreated: (mapController) { _controller.complete(mapController); }, polylines: { Polyline( polylineId: const PolylineId("route"), points: polylineCoordinates, color: const Color(0xFF7B61FF), width: 6, ), }, ),
×
×
  • أضف...