Cet article concerne le langage Visual Basic, commercialisé avec Microsoft Visual Studio 6.0 et antérieur. Pour la version de Visual Basic commercialisée avec Microsoft Visual Studio .Net, voir Visual Basic .NET.
Un programme en VB peut être développé en utilisant les composants fournis avec Visual Basic lui-même. Les programmes écrits en Visual Basic peuvent aussi utiliser l'API Windows, ceci nécessitant la déclaration dans le programme des fonctions externes.
Dans une étude conduite en 2005, 62 % des développeurs déclaraient utiliser l'une ou l'autre forme de Visual Basic. Selon la même étude, les langages les plus utilisés dans le domaine commercial sont Visual Basic, C++, C# et Java[3].
La dernière mise à jour de Visual Basic est la version 6.0, sortie en 1998. Le support étendu Microsoft a pris fin en 2008. À partir de la version 7, le Visual Basic subit des changements substantiels le rapprochant de la plate-forme « dot Net », et qui amènent Microsoft à le commercialiser sous le nom de Visual Basic .NET.
Fonctionnalités du langage
Visual Basic a été conçu pour être facile à apprendre et à utiliser. Le langage permet de créer des applications graphiques de façon simple, mais également de créer des applications véritablement complexes. Programmer en VB est un mélange de plusieurs tâches, comme disposer visuellement les composants et contrôles sur les formulaires, définir les propriétés et les actions associées à ces composants, et enfin ajouter du code pour ajouter des fonctionnalités. Comme les attributs et les actions reçoivent des valeurs par défaut, il est possible de créer un programme simple sans que le programmeur ait à écrire de nombreuses lignes de code. Les premières versions ont souffert de problèmes de performance, mais avec l'apparition d'ordinateurs plus rapides et grâce à la compilation en code natif, ce problème de performance s'est estompé.
Bien que les programmes puissent être compilés en code natif depuis la version 5, ils requièrent toujours pour fonctionner la présence du moteur d'exécution ou runtime, pour une taille d’environ 2 MB. Ce moteur d'exécution est inclus par défaut dans Windows 2000 et versions ultérieures sous forme de bibliothèques dynamiques. Pour les versions précédentes de Windows, le moteur d'exécution doit être distribué avec l’exécutable lui-même.
Dans l'IDE, les formulaires sont créés en utilisant la technique de glisser-déposer, permettant de disposer des contrôles (boîte de saisie, case à cocher, bouton, etc.) sur le formulaire. Les contrôles possèdent tous des attributs et des gestionnaires d’événements associés. Des valeurs par défaut sont attribuées, qui peuvent être modifiées par le programmeur. De nombreux attributs peuvent être modifiés dynamiquement lors de l’exécution, en réponse à des actions de l’utilisateur ou à des changements dans l’environnement. Par exemple, il est possible d’ajouter du code dans le gestionnaire de l’événement redimensionnement du formulaire, afin de maintenir celui-ci en permanence au centre de l’écran ou encore d’agrandir le formulaire afin qu’il occupe toute la surface de l’écran. En ajoutant du code dans le gestionnaire de l’événement « KeyPress » (touche enfoncée) d'une boîte de saisie, le programme pourrait automatiquement convertir les minuscules en majuscules ou inversement, ou encore interdire l'insertion de certains caractères.
Visual Basic permet de créer des exécutables (fichiers .EXE), des contrôles ActiveX ou des DLL, mais son usage premier est la réalisation d’applications Windows et l’interfaçage Web avec des bases de données. On peut utiliser des boîtes de dialogue simplifiées (par exemple pas de Maximize/Minimize) pour fournir des fonctionnalités de type pop-up. Les contrôles fournissent les fonctionnalités de base de l’application, les programmeurs ajoutant simplement le fonctionnel supplémentaire en insérant du code dans les gestionnaires d’événements appropriés. Par exemple, une boîte de sélection déroulante est directement capable d’afficher sa liste et de permettre à l’utilisateur de choisir l’un de ses éléments. Un gestionnaire d’événement est appelé lorsqu’un élément est sélectionné, par exemple pour remplir une liste associée.
Un composant Visual Basic peut aussi ne pas avoir d’interface utilisateur et fournir à la place des objets ActiveX aux autres programmes, au travers du Component Object Model (COM).
Le langage dispose d'un mécanisme de récupération de mémoire (Ramasse-miettes), utilisant le mécanisme de « comptage de référence ». Il dispose également d’une grande bibliothèque d’utilitaires et offre les bases du support de la Programmation Orientée Objet. Dans la mesure où les composants les plus communs sont inclus par défaut dans le modèle de projet standard, il est rarement nécessaire pour le programmeur d’utiliser des bibliothèques additionnelles. À la différence de beaucoup d’autres langages de programmation, Visual Basic n’est en général pas sensible à la casse (l’usage des majuscules ou des minuscules est indifférent), bien qu’il transforme automatiquement l’écriture des mots-clés selon une convention standard et qu’il force l’écriture des variables dans le code à être identique à l’écriture employée lors de la déclaration. En revanche, les comparaisons de chaînes de caractères sont elles sensibles à la casse par défaut, mais ce comportement est modifiable à volonté.
Caractéristiques de Visual Basic
Visual Basic possède quelques caractéristiques inhabituelles :
Rétrocompatibilité avec les (anciennes) versions du BASIC de Microsoft (QBasic/QuickBasic) permettant le portage de vieux programmes.
Possibilité d'utiliser à la fois des méthodes procédurale à l'ancienne (via des branchement avec des labels. Ex.: <label>: GOTO <label> ; et des sous-procédures du type GOSUB <label> ... RETURN), et à la fois des techniques plus modernes comme la programmation orientée objet (avec des modules de classe...).
Optionnalité d'un grand nombre de déclarations (typage, référencement, portées...) ainsi qu'une syntaxe souple (espaces facultatifs).
La constante booléenneTrue a la valeur numérique -1[4]. Ceci est dû au fait que le type booléen est codé comme un entier de 16 bits signé. Dans cette représentation, -1 est codé comme une suite de 16 « 1 binaires » (la valeur booléenne True), et que 0 est codé comme 16 « 0 binaires » (la valeur booléenne False) ; lorsqu'on effectue l’opération Non Logique sur un entier signé de 16 bits valant 0, on obtient -1. En d’autre termes, True = NotFalse. Cette caractéristique intrinsèque devient particulièrement utile lorsque l’on effectue des opérations logiques bit à bit sur un entier, telles qu’And, Or, Xor et Not. Cette définition est également globalement cohérente avec les implémentations de BASIC depuis Microsoft Basic, au début des années 1970. C’est également en adéquation avec les caractéristiques des microprocesseurs de cette période.
Les opérateurs bit à bit et les opérateurs logiques sont les mêmes. Ce n’est en revanche pas le cas dans tous les langages dérivés de C (tels que Java et Perl) qui disposent d’opérateurs différenciés pour les opérations logiques et les opérations bit à bit. Ceci est également une caractéristique traditionnelle du langage BASIC.
Base de tableaux variable. Les tableaux sont déclarés en spécifiant les bornes inférieures et supérieures, de la même façon qu’en Pascal ou qu’en Fortran. Il est également possible d’utiliser l’instruction « Option Base » pour spécifier l’indice de borne inférieure par défaut. L’usage de cette instruction peut prêter à confusion lors de la lecture de code Visual Basic et il est préférable d’éviter son utilisation ; on lui préférera la déclaration explicite de la borne inférieure du tableau. Cette borne inférieure n’est pas limitée aux seules valeurs zéro ou un, elle peut aussi être spécifiée explicitement lors de la déclaration de la variable. Ainsi, les bornes inférieures et supérieures sont toutes deux programmables. Dans d’autres langages, la borne inférieure des tableaux n’est pas programmable. Cette caractéristique n’existe pas dans Visual Basic .NET ni dans VBScript. L’instruction Option Base a été introduite dans la norme ANSI, avec la norme ANSI pour BASIC minimal, à la fin des années 1970. L’extension permettant d’utiliser la forme de DIM A(1976 TO 2002) a été introduite pour la première fois dans le BBC Basic, disponible dans le BBC micro, lui-même influencé par COMAL(en).
L’arrondi bancaire est utilisé par défaut lors de la conversion de nombres réels en entiers.
Les nombres entiers sont automatiquement convertis en nombres réels dans les expressions où apparaît l’opérateur de division normale (/) afin que la division d’un entier impair par un entier pair produise le résultat intuitivement espéré. Il existe un opérateur spécifique pour la division entière (\) qui lui tronque le résultat.
Par défaut, si une variable n’est pas déclarée du tout ou si elle est déclarée sans spécification explicite de type, elle prend le type « Variant ». Cependant, ce comportement peut être modifié par l’utilisation d’instructions DefType telles que DefInt, DefBool, DefObj, DefStr, etc. Il existe 12 instructions DefType dans Visual Basic 6.0. Un type par défaut peut être remplacé dans une déclaration spécifique en utilisant un suffixe spécial accolé au nom de la variable (# pour Double, ! pour Single, & pour Long, % pour Integer, $ pour String and @ pour Currency). Il est aussi possible d’utiliser la forme As (type). Il est également possible de configurer VB afin qu’il exige la déclaration explicite de toutes les variables, en utilisant la commande Option Explicit.
Évolution de Visual Basic
VB 1.0 a vu le jour en 1991. Le principe de connexion d’un langage de programmation avec une interface utilisateur graphique est dérivé d’un prototype appelé Tripod, développé par Alan Cooper. Microsoft avait alors contacté Cooper et ses associés pour développer un Shell programmable pour Windows 3.0, sous le nom de code Ruby (aucun lien avec le langage de programmation Ruby).
Tripod ne contenait aucun langage de programmation et Ruby contenait uniquement un processeur de commandes rudimentaire suffisant pour tenir le rôle d’un Shell Windows. Finalement, Microsoft décida d’utiliser le simple Program Manager comme Shell pour Windows 3.0, à la place de Ruby, et de combiner Ruby avec le langage Basic pour créer Visual Basic.
Ruby a fourni la partie « Visual » de Visual Basic – l’éditeur de fenêtres et les outils d’édition – associé avec la possibilité de charger des bibliothèques dynamiques, contenant des contrôles additionnels (qui s’appelaient alors des « gizmos »). Les extensions « gizmos » de Ruby devinrent par la suite l’interface VBX.
Visual Basic, de VB1 à VB6
Le projet ‘Thunder’ est lancé.
Visual Basic 1.0 () pour Windows est présenté au Comdex/Windows à Atlanta, Géorgie.
Visual Basic 1.0 pour DOS est présenté en . Le langage n’était pas totalement compatible avec Visual Basic pour Windows, car il était en fait la nouvelle version des compilateurs Microsoft BASIC pour DOS, Quick Basic et BASIC Professional Development System. L’interface était en mode texte et utilisait le jeu de caractères ASCII étendu pour simuler une interface graphique.
Visual Basic 2.0 est présenté en . L’environnement de développement était plus facile à utiliser et la vitesse avait été améliorée. Un fait marquant était que les formulaires étaient devenus des objets instanciables, posant ainsi le concept de base de modules de classe, qui devinrent plus tard disponibles dans VB4.
Visual Basic 3.0 fut présenté pendant l’été 1993, disponibles en édition Standard ou Professionnelle. VB3 intégrait la version 1.1 du moteur de base de donnéesMicrosoft Jet, qui pouvait lire et écrire les bases de données Jet (ou Access) 1.x.
Visual Basic 4 () a été la première version qui pouvait générer des programmes Windows 16 et/ou 32 bits. Cette version introduisait également la possibilité d’écrire des classes sans interface utilisateur. Des incompatibilités entre les différentes versions de VB4 causèrent des problèmes d’installation et de fonctionnement.
La version 5.0 de Visual Basic, sortie en 1997 ne fonctionnait plus qu’avec les versions 32 bits de Windows. Les programmeurs préférant développer des applications 16-bits pouvaient importer les programmes de VB4 vers VB5 [réf. nécessaire], et inversement. Visual Basic 5.0 a aussi introduit la possibilité de créer des contrôles utilisateurs personnalisés ainsi que la possibilité de générer des exécutables Windows natifs, ce qui améliorait la vitesse d’exécution des programmes effectuant beaucoup de calculs.
Visual Basic 6.0 (mi-1998) a apporté de nombreuses améliorations dans différents domaines, notamment la possibilité de créer des applications Web-based. VB6 n'est plus supporté par Microsoft depuis .
Microsoft a cessé le support grand public pour Visual Basic 6.0 le . Le support étendu a pris fin en [5]. En réaction, la communauté des utilisateurs Visual Basic a fait part de ses préoccupations à ce sujet et a incité les utilisateurs à signer une pétition afin de permettre de maintenir le produit en vie. À ce jour, Microsoft a refusé de modifier sa position à ce sujet. Ironiquement, il fut révélé au même moment que le nouvel Anti-Spyware de Microsoft, Microsoft AntiSpyware (racheté à GIANT Software Company) était écrit en Visual Basic 6.0. Windows Defender Beta 2 a été réécrit en C++/CLI.
Langages dérivés
Microsoft a développé des langages dérivés, pour des usages de langages de Script :
Visual Basic pour Applications (VBA) est inclus dans de nombreuses applications Microsoft (Microsoft Office) ainsi que dans de nombreux produits tiers tels qu’AutoCAD, WordPerfect Office 2002, etc. Il y a de petites incohérences dans la façon dont VBA est implémenté dans les différentes applications, mais VBA reste un langage très proche de VB6 et utilise le même moteur d’exécution.
VBScript est le langage par défaut pour Active Server Pages (ASP) et peut être utilisé pour faire du scripting Windows ainsi que du scripting web côté client. Bien qu’il ressemble syntaxiquement à VB, c’est un langage différent et séparé, qui utilise vbscript.dll pour son exécution au lieu du moteur d'exécution VB. Ces différences peuvent affecter les performances d’un site web ASP. ASP et VBScript ne doivent pas être confondus avec ASP .NET, qui utilise Visual Basic .NET ou tout autre langage destiné au .NET Common Language Runtime (CLR).
Visual Basic .NET est le successeur désigné de Microsoft à Visual Basic 6.0, et fait partie de la plate-forme Microsoft .NET. Celui-ci se compile et s’exécute sur l'architecture .NET(le framework .NET). Visual Basic .NET n’est pas rétrocompatible avec VB6. Un outil de conversion existe, mais pour de nombreux projets, la conversion automatique est impossible.
Performances et autres problèmes
Les premières versions de Visual Basic (avant la version 5.0) généraient uniquement du P-Code ou pseudo code. Visual Basic 5 et 6 sont capables de compiler en P-code ou en code natif, au choix du programmeur. Le P-code est interprété par le runtime du langage, aussi appelé machine virtuelle. L’avantage réside dans la portabilité et la petitesse du code. Cependant, ceci ralentit généralement l’exécution des programmes, car cela ajoute une couche supplémentaire d’interprétation. Il est possible de construire de petites portions de codes ou certains algorithmes qui s’exécutent plus rapidement en P-code qu’en code natif.
Les applications Visual Basic requièrent la présence du Microsoft Visual Basic Runtime MSVBVMxx.DLL, où xx est le numéro de version, soit 50 ou 60. MSVBVM60.DLL est fourni en standard avec toutes les versions de Windows suivant Windows 98, alors que MSVBVM50.DLL était présents avec toutes les éditions de Windows postérieures à Windows 95. Ainsi, pour une machine sous Windows 95, il était obligatoire que les programmes Visual Basic soient distribués avec la Dll appropriée.
Visual Basic est critiqué pour sa gestion mémoire peu performante et pour la possibilité qu’il offre de pouvoir construire du code utilisant des constructions peu académiques, pouvant donner de mauvaises habitudes de programmation et permettant d’écrire du code peu performant. En Visual Basic, il peut parfois être difficile de dire si une variable est une référence à un objet ou bien l’objet lui-même.
Dans le même ordre d’idée, il est parfois difficile de dire si une opération va copier la référence d’un objet ou bien copier l’entièreté de l’objet. Cette ambiguïté peut être la cause de comportements non prévus, ou résulter en un programme aux piètres performances.
Exemples de code
Voici quelques exemples de code Visual Basic :
Fonction qui renvoie (calcule) l’aire d’un cercle :
Programme affichant une fenêtre avec les mots « Hello World »
SubMain()MsgBox("Hello World")EndSub
Démarrer une application tierce depuis Visual Basic :
PrivateSubRun_Notepad()Shell"%SystemRoot%\notepad.exe",vbMinimizedNoFocus'ouvre Notepad, car Notepad est dans le répertoire System'%SystemRoot% est une variable d'environnement contenant le chemin du répertoire Windows System.EndSub
Programmation objet :
ImportsSystem.Net.MailPublicClassForm1PrivateSubCheckBox1_CheckedChanged(senderAsObject,eAsEventArgs)HandlesCBaccept.CheckedChangedButton1.Visible=TrueIfCBaccept.Checked=FalseThenButton1.Visible=FalseEndIfEndSubPrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickIfTBnom.Text=""OrTBmail.Text=""OrTBpasse.Text=""OrTBcpasse.Text=""OrTBprenom.Text=""OrTBpseudo.Text=""OrTBcandidature.Text=""OrCBaccept.Checked=FalseThenMsgBox("Vous devez tout remplir correctement")ExitSubEndIfIfTBpasse.Text<>TBcpasse.TextThenMsgBox("le mot de passe ne correspond pas")ExitSubEndIfDimNom=TBnom.TextDimPrenom=TBprenom.TextDimMail=TBmail.TextDimPasse=TBpasseDimCandidature=TBcandidatureDimPseudo=TBpasseDimMessage="Test"&Pseudo&vbCrLf&"candidature "&Candidature&vbCrLf&"prenom"&PrenomDimMyMailMessageAsNewMailMessage()DimSMTPServerAsNewSmtpClient("[email protected]")MyMailMessage.From=NewMailAddress("[email protected]")MyMailMessage.To.Add("[email protected]")MyMailMessage.Subject=("sujet du message")MyMailMessage.Body=("Message")SMTPServer.Port=("587")'PortSMTPServer.Credentials=NewSystem.Net.NetworkCredential("Adresse_Expediteur","Mot_de_passe_expediteur")SMTPServer.EnableSsl=TrueSMTPServer.Send(MyMailMessage)'EnvoiEndSubEndClass
Développement d’interfaces utilisateurs graphiques en Visual Basic 6.0
Visual Basic permet de développer des interfaces utilisateurs graphiques très riches. De nombreux types de logiciels peuvent être créés rapidement, tels que (liste non exhaustive) : logiciel d’édition d’images, éditeurs de texte et applications de bases de données.
↑VB est remplacé par Visual Basic .NET, cependant la conversion d'applications depuis VB vers VB .NET peut ne pas être triviale. [1][PDF].)
↑Par exemple : S="ABC" : S = S & "DEF" : S = S & "GHI" est une pratique courante en VB, mais peut causer de graves ennuis si utilisée sur une page ASP, car les constantes statiques sont traitées différemment par les deux langages.
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
Dewan Arktik berencana mencari Sir John Franklin karya Stephen Pearce, 1851. Dari kiri ke kanan: George Back, William Edward Parry, Edward Bird, James Clark Ross, John Barrow Jnr, Francis Beaufort, Edward Sabine, William Alexander Baillie Hamilton, John Richardson dan Frederick William Beechey Peta rute yang diduga ditempuh oleh HMS Erebus dan HMS Terror selama ekspedisi Franklin. Legenda Disko Bay (5) ke Pulau Beechey (ke sebelah baratdaya Pulau Devon, ke timur nomor 1),...
RaekwonRaekwon di Festival Musik Pitchfork 2010Informasi latar belakangNama lahirCorey WoodsNama lainRaekwon The Chef, Shallah Raekwon, Lex DiamondsLahir12 Januari 1970 (umur 54)Brooklyn, New York City, ASAsalStaten Island, New York City, ASGenreHip hopPekerjaanRapperaktorTahun aktif1991–sekarangLabel Aftermath[1] Ice H20 Loud RCA Artis terkaitWu-Tang Clan, Wu-Tang Killa Beez, Nas Corey Woods[2] (lahir 12 Januari 1970),[3][4] yang lebih dikenal dengan na...
Pour les articles homonymes, voir Cohn. Marianne CohnBiographieNaissance 17 septembre 1922MannheimDécès 8 juillet 1944 (à 21 ans)Ville-la-GrandSépulture Cimetière du Petit Sablon (d)Pseudonyme Marie ColinNationalité allemandeDomiciles Berlin-Mariendorf (1928-1934), Barcelone (1934-1936), Berne (1937-1938), Paris (1938-1939), Moissac (à partir de 1939), GrenobleActivité RésistanteStatut Célibataire (en)Autres informationsMembre de Éclaireuses éclaireurs israélites de FranceM...
Indra Sjafri Indra Sjafri saat menjadi Brand Ambassador Gala Siswa Indonesia SMP 2018 Kemdikbud RIInformasi pribadiNama lengkap Indra SjafriTanggal lahir 2 Februari 1963 (umur 61)Tempat lahir Pesisir Selatan, Sumatera BaratTinggi 169 cm (5 ft 7 in)Posisi bermain GelandangInformasi klubKlub saat ini Timnas Indonesia U-20 (Pelatih)Karier junior1981-1986 PSP Padang JuniorKarier senior*Tahun Tim Tampil (Gol)1986-1991 PSP Padang (?)Kepelatihan2008 Persikalis Bengkalis2011 ...
Régions du Guyana, 2010 Armoiries du Guyana L'histoire du Guyana commence avec les premiers peuplements du territoire par des peuples amérindiens, notamment les Arawaks et les Kali'nas. En 1499, la première expédition du conquistador Alonso de Ojeda arrive d'Espagne au fleuve Essequibo. L'histoire du Guyana a été façonnée par de nombreux groupes ethniques et plusieurs puissances coloniales, notamment les Espagnols, les Français, les Néerlandais et les Britanniques. Les rébellions d...
Artikel ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus. Bukit Wewerowet. Bukit Weworowet adalah bukit yang berlokasi di Desa Nggolonio, Kecamatan Aesesa, Kabupaten Nagekeo. cukup membutuhkan waktu 20 menit dari pusat Kota Mbay untuk sampai pada Lokasi. Bukit Weworowet ini berada diantara jalur wisata 17 Pulau Riung.[1] Referensi ^ Rémon, Nao-Cosme (2008-12-01). Mar...
Association football championship match between Manchester United and Chelsea, held in 1994 For the women's event, see 1994 FA Women's Cup final. This article is written like a personal reflection, personal essay, or argumentative essay that states a Wikipedia editor's personal feelings or presents an original argument about a topic. Please help improve it by rewriting it in an encyclopedic style. (January 2016) (Learn how and when to remove this message) Football match1994 FA Cup FinalThe ma...
A political ideology which combines environmentalism with nationalism Not to be confused with extremist Ecofascism espoused by some white nationalists. Part of a series onGreen politics Core topics Climate change litigation Fossil fuels lobby Green politics Green party List of topics Politics of climate change Four pillars Ecological wisdom Social justice Grassroots democracy Nonviolence Perspectives Alter-globalization Bright green environmentalism Criticisms of globalization Deep ecology De...
This article needs to be updated. Please help update this article to reflect recent events or newly available information. (January 2024)Melita plc at Madliena, Swieqi. This article is an overview of telecommunications in Malta. Telephone See also: Telephone numbers in Malta Telephones - main lines in use: 229,700 (2012) Telephones - mobile cellular: 539,500 (2012) Telephone system: automatic system satisfies normal requirements domestic: submarine cables and microwave radio relay between isl...
American writer (born 1974) Roxane GayGay in 2014Born (1974-10-15) October 15, 1974 (age 49)Omaha, Nebraska, U.S.OccupationProfessor, writerEducation Phillips Exeter Academy Yale University Norwich University (BA) University of Nebraska–Lincoln (MA) Michigan Technological University (PhD) GenresNovel, short story, criticismSpouse Debbie Millman (m. 2020)RelativesClaudine Gay (cousin)Scientific careerFieldsCommunication studiesThesisSubverting the subject ...
Fictional character from the American sitcom Friends This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Ross Geller – news · newspapers · books · scholar · JSTOR (February 2021) (Learn how and when to remove this message) Fictional character Ross GellerFriends characterDavid Schwimmer as Ross GellerFirst appear...
Field hockeyat the Games of the XXIX OlympiadVenueOlympic Green Hockey FieldDates10–23 August 2008No. of events2Competitors387 from 15 nations← 20042012 → Field hockey at the2008 Summer OlympicsTournamentmenwomenSquadsmenwomenvte Field hockey at the 2008 Summer Olympics in Beijing was held over a fourteen-day period beginning on 10 August, culminating with the medal finals on 22 and 23 August.[1] All games were played at the hockey field constructed ...
Trận chiến nước AnhMột phần của Mặt trận phía Tây trongChiến tranh thế giới thứ haiThời gian10 tháng 7 – 31 tháng 10[gc 1] năm 1940Địa điểmKhông phận Anh QuốcKết quả Chiến thắng quyết định của quân Anh[gc 2][3][gc 3][gc 4][6][7][gc 5][gc 6][10][11][gc 7][gc 8]Tham chiến Anh[gc 9] Canada[19] Đức ÝChỉ hu...
Yakovlev Yak-4 (nama Layanan Yak-4, BB-22bis (Blizhnij Bombardirivschik, bomber jarak pendek)) adalah sebuah pembom ringan Soviet yang digunakan selama Perang Dunia II. Ini dikembangkan dari Ya-22/Yak-2. Yak-4 merupakan versi perbaikan dari Yak-2 dengan mesin lebih kuat Klimov M-105 dan sejumlah perubahan lain yang dibuat untuk mencoba untuk memperbaiki masalah-masalah Yak-2. Referensi Gordon, Yefim. Soviet Airpower in World War 2. Hinckley, England: Midland Publishing, 2008 ISBN 978-1-85780...
Volodímir Vinnichenko 1.er presidente del Directorio ucraniano 19 de diciembre de 1918-10 de febrero de 1919Predecesor Cargo creadoSucesor Simon Petliura Información personalNombre en ucraniano Володимир Кирилович Винниченко Nacimiento 14 de juliojul./ 26 de julio de 1880greg.Elisavetgrado, Imperio rusoFallecimiento 3 de junio de 1951Mougins, FranciaSepultura Mougins Nacionalidad RusaReligión Cristianismo ortodoxo FamiliaCónyuge Rozalia Vy...