MSE (Visual Programming Environment)
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14.4.2020 tarkistetusta
versiosta . tarkastukset vaativat
9 muokkausta .
MSE on visuaalinen ohjelmointiympäristö , jossa käytetään Free Pascal - kääntäjää . Se koostuu MSEgui visuaalisen komponentin kirjastosta ja MSEide - lomake - ja lähdeeditorista .
Toisin kuin esimerkiksi Lazarus -projektissa , MSE ei keskity Delphi VCL -yhteensopivuuteen , mikä joissakin tapauksissa yksinkertaistaa kehitystä ja vapauttaa hankaluudesta.
Sisältää: sisäänrakennettu virheenkorjaus , syntaksin korostus, luokkakentän täydennys, koodinavigointi, raporttien luonti jne.
VAROITUS : MSE-projekti on nyt osa mse-orgia : https://github.com/mse-org
MSEide- ja MSEgui-lähteet ovat täällä: https://github.com/mse-org/mseide-msegui
Martinin elämäkerta: https://sites.google.com/view/martin-schreiber-biography/
Ominaisuudet ja edut
Unicode
Kaikki komponentit käyttävät Unicodea . Tulostettaessa käytetään myös Unicodea, jonka avulla voit näyttää useiden koodausten merkit yhdessä tulosteasiakirjassa. Lähdetekstit voivat olla myös Unicode-muodossa, mikä mahdollistaa tekstivakioiden käytön ilman siirrettävyysongelmia Win32 :n ja Linuxin välillä .
Tulostus
Siinä on useita tulostusmekanismeja:
- PostScript - tulostusmuodossa (Win32 ja Linux);
- suoratulostus GDI-tulostin (luonnollisesti - vain Win32);
- "panoksessa" - on luokka tekstin tulostamista varten tulostekoodauksessa CP866 (venäläinen DOS), sarakkeiden erityisillä muotoilumenetelmillä (katkaisu, automaattinen siirto, täyttö) ja piirustuskehykset - sekä pseudografiset että yksinkertaistetut (merkeistä). "|-+") ;
Tietokannat
Erityistä huomiota kiinnitetään tietokannan kanssa työskentelyyn tarkoitettujen sovellusten kehittämiseen
- tietokantakäyttö PostgreSQL :ssä , MySQL :ssä , SQLitessa ja Firebirdissä ilman väliajureita
- pääsy tietokantaan Oracle-, MSAcess-, ASA-, DB2- ja muissa - jos ZeosDBO-välikirjaston lähteitä on
- on erittäin tehokas TMSESQLQuery-komponentti, joka tarjoaa
- tietokannan lukeminen ja kirjoittaminen SQL-kyselyillä, mukaan lukien SQLite3
- "FieldDefs" -sovelluksen avulla voit määrittää manuaalisesti valintakenttien tyyppejä, jos ne on määritetty väärin (erittäin hyödyllinen SQLite3:lle)
- parametriset kyselyt
- tietojen muutospyyntöjen automaattinen luominen
- mahdollisuus korvata läpinäkyvästi automaattisesti suljetut pyynnöt "omilla".
- yksilöllisten indeksien automaattinen tunnistus ja avainkenttien automaattinen määrittäminen löydetyn PRIMARY-indeksin mukaan
- offline-tilassa tietojen muokkaamiseen yhteyden katkaisun jälkeen ja tietueella, kun yhteys palautetaan
- paikallinen tila, joka korvaa TMemDatasetin
- paikalliset indeksit kaiken tyyppisissä kentissä, paitsi MEMO/BLOB (valinnan automaattinen uudelleenjärjestäminen, kun indeksi on aktivoitu) ja suodatus, nämä indeksit voivat olla yhdistettyjä
- offline- ja paikallistiloissa on mahdollisuus tallentaa tietoja (mukaan lukien BLOBit ja kuvat) paikalliseen tiedostoon
- BLOB-kenttien hakeminen, välimuisti ja kirjoittaminen
- unicode-muunnos lennossa
- erilliset tapahtumat lukemista ja kirjoittamista varten
- valinnainen valetapahtumatila (erittäin hyödyllinen SQLite3:lle ja muille tietokannoille, joissa sisäkkäiset tapahtumat eivät ole mahdollisia)
- valinnainen automaattinen tapahtuman vahvistus muutosten kirjoittamisen jälkeen
- valinnainen tietojen uudelleennäytteenotto tapahtuman vahvistuksen jälkeen
- TDBWidgetGrid-komponentti:
- voit sijoittaa valikoituja luetteloita, loogisia kytkimiä, kuvia jne. suoraan taulukon soluihin
- voit sijoittaa melkein kaikki widgetit kiinteisiin riveihin (ylä- ja alatunniste), mikä on kätevää lajittelukytkimien, tilojen jne.
- voit yhdistää soluja kiinteisiin riveihin
- tarjoaa automaattisesti numeroidut kiinteät sarakkeet
- tietokantataulukoiden taloudellinen toimintatapa, kun taulukko "pitää" muistissa vain tarvittavan vähimmäisosan tiedoista
- TDBLookupBuffer-komponentin avulla voit kopioida yhden tai useamman valintakentän erittäin nopeaan muistipuskuriin, jota käytetään valittujen luetteloiden huoltoon, kentän etsimiseen toisten kautta ja muihin toimintoihin aiheuttamatta uudelleennavigointia ja muita ei-toivottuja vaikutuksia valinnassa.
- jokaisella tietotyypillä on oma komponenttinsa, joka nopeuttaa kenttien käyttöä (jos pääsy "FieldByName":n kautta on hidasta)
- komponentti automaattisen lisäyksen kenttien kanssa työskentelemiseen (erittäin hyödyllinen tietojen lisäämiseen master-detail-tilassa)
- komponentit master-detail-taulukoiden läpinäkyvään linkitykseen
Kirjastot
Piirtää komponentit kokonaan itse. Esimerkiksi GNU / Linuxissa se ei käytä kolmannen osapuolen widgetejä - Linuxissa se toimii suoraan Xlibin kanssa, Windowsissa se käyttää vain API - toimintoja . Mukauttaa sisäänrakennetun paletin ei-TrueColor-näyttötiloihin, joissa on vähän värejä (255 tai vähemmän)
GUI-elementtien perusluokka on twidget . Toisin kuin Delphi, MSEgui ei tee eroa yksinkertaisten graafisten elementtien ja syötteen kohdistuksen vastaanottavien elementtien välillä - kaikilla widgeteillä on pääsy kaikkiin twidget-luokan toimintoihin.
twidget- esiintymillä on kaksi tärkeää ominaisuutta - twidget.frame ja twidget.face .
- runko vastaa elementin työtilan ympärillä olevasta kehyksestä - se voi olla joko "tavallinen" pseudo-3D-kehys tai jonkinlainen rasterielementeistä koottu komposiittirakenne.
- face piirtää GUI-elementin asiakasalueen taustan - voit näyttää värigradientteja, bittikarttoja ja käyttää läpikuultavuutta.
Kehyksen ja kasvojen ominaisuudet voidaan asettaa keskitetysti tframecompilla ja tfacecompilla - mikä helpottaa skinien käyttöä.
Erikoisvekottimet ( tintegeredit , trealedit , tdatetimeedit ... ) ovat saatavilla MSEguissa yksinkertaisten raakatietojen muokkaamiseen . Näiden widgetien tärkein ominaisuusviestien käsittelijä on onsetvalue , jonka kautta widgetien reaktio käyttäjän syötteisiin asetetaan.
Toisin kuin Lazarus, MSEgui sallii visuaalisen muotoperinnön ja MDI - sovellusten luomisen.
Lisenssi
Ilmainen, avoin lähdekoodi. Shell on jaettu GNU GPL -lisenssillä , kirjasto jaetaan muokatun GNU LGPL :n alaisena, ja se voi linkittää suljettuihin projekteihin.
Historia
Pääasiassa Pascal-ohjelmoija Martin Schreiber kehitti MSEguin sen jälkeen, kun Borland lopetti linux - ohjelmointiympäristönsä Kylixin . Hän käytti tuloksena saatua ohjelmistotuotetta päätehtävänsä kehittäessään ohjelmistoja tietokoneille ja mukautetuille mikrokontrollereille [1] .
Vuonna 2013 hän aloitti työskentelyn Pascalin kaltaisella MSElang-ohjelmointikielellä, joka on yksinkertaisempi kuin Free Pascal , käyttämällä LLVM :ää taustaohjelmana ja saavutti tiettyjä tuloksia matkan varrella [2] .
29. marraskuuta 2018 Martin Schreiber sai vakavan sydänkohtauksen ja kuoli 27. joulukuuta 2018 [3] . Hänen vuoden 2019 alussa kehittämiensä projektien jatko kohtalo ei ole selvä.
Katso myös
Muistiinpanot
- ↑ Varusta Pascal. Martin Schreiberin (ranskalainen) haastattelu . Developpez.com (23. joulukuuta 2015). Haettu 7. helmikuuta 2019. Arkistoitu alkuperäisestä 9. helmikuuta 2019.
- ↑ Koti Wiki MSEide MSEgui / Mselang . gitlab. Haettu 7. helmikuuta 2019. Arkistoitu alkuperäisestä 9. helmikuuta 2019.
- ↑ Wir trauern um Martin Schreiber: Ankündigungen • Deutsches Lazarusforum . www.lazarusforum.de. Haettu 7. helmikuuta 2019. Arkistoitu alkuperäisestä 9. helmikuuta 2019. (määrätön)
Linkit
GUI-elementtien työkalupakkit (sarjat) . |
---|
matalatasoinen _ |
- Xlib
- Macintosh Toolbox / Carbon
- Windows API
- luontaiset ominaisuudet
- Intuitio
|
---|
korkea taso | Amiga OS |
|
---|
MacOS ja macOS |
- Kaakao
- macapp
- MacZoop
- Voimalaitos
|
---|
Windows |
|
---|
UNIX , alle X |
|
---|
Monitasoinen _ _
| Flash-pohjainen |
|
---|
Perustuu XML-, AJAX- tai SVG -muotoon |
|
---|
Perustuu Javaan |
|
---|
Perustuu C tai C++ |
|
---|
Perustuu Common Lisp |
|
---|
Perustuu Pascaliin |
|
---|
Perustuu Pythoniin |
|
---|
Perustuu Objective-C:hen |
|
---|
|
---|
|
---|