Käyttöliittymien käyttö delphissä. Delphin käyttöliittymien kanssa työskentelyn ominaisuudet. Normaalit käyttöliittymäelementit

Artikkeli on kirjoitettu ryhmämme nuorten kehittäjien kirjoittamien ohjelmien analyysien tulosten perusteella.

Järjestämme komponenttien kytkentäjärjestyksen oikein

Monilla käyttäjillä, erityisesti niillä, jotka ovat aiemmin työskennelleet DOS:ssa, on tapana vaihtaa syöttökenttien välillä ei hiirellä, vaan käyttämällä näppäimistöä Tab-näppäimellä. Lisäksi se on paljon nopeampaa kuin kunkin kentän valitseminen hiirellä. Siksi komponenttien kytkentäjärjestys on asetettava oikein. Tämä koskee sekä kaikkien konttikomponenttien sisällä olevia komponentteja (paneelit, GroupBoxit ja vastaavat) että itse säiliökomponentteja, jos niitä on lomakkeessa useita.

Säilön sisällä olevien komponenttien vaihtojärjestys määritellään TabOrder-ominaisuuden avulla. Ensimmäinen aktivoituva komponentti on se, jonka TabOrder on 0, toinen, jossa on 1 jne., kunnes kaikki komponentit on lueteltu. Lisäksi komponentissa on TabStop-ominaisuus, joka osoittaa, saako komponentti tarkennuksen, kun sitä vaihdetaan Tab-näppäimellä. Jos haluat estää vaihtamisen mihin tahansa komponenttiin, aseta sen TabStop = false. Tässä tapauksessa voit vaihtaa tähän komponenttiin vain hiirellä.

On tapauksia, joissa käyttäjät, jotka ovat tottuneet vaihtamaan tietyllä avaimella yhdessä ohjelmassa, tottumuksesta jatkavat sen käyttöä muissa. Näin tapahtuu usein 1C-käyttäjille, joissa Enter-näppäintä voidaan käyttää syöttökenttien selailuun. No, me annamme heille sellaisen mahdollisuuden ohjelmissamme, jos he sitä pyytävät. Aseta lomakkeen KeyPreview-ominaisuuden arvoksi tosi ja kirjoita OnKeyPress-tapahtumakäsittelijä:

Toimenpide TForm1.FormKeyPress(Lähettäjä: TObject; var Avain: Char);
alkaa
if ord(key)=vk_Return sitten
Form1.SelectNext(PriemForm.ActiveControl, tosi, tosi);
loppu;

Tämä käsittelijä tarjoaa navigoinnin lomakeelementtien välillä, kun Enter-näppäintä painetaan. On huomattava, että tämä menetelmä ei toimi painikkeiden kanssa, koska... Kun painat Enteriä painikkeessa, sitä napsautetaan, kun taas Tab-painikkeen painaminen siirtää syötteen kohdistuksen vaihtosekvenssin seuraavaan komponenttiin.

Oletuspainikkeet

Kaikki samat käyttäjät tottuvat nopeasti siihen, että sovellusten valintaikkunoissa voit pääsääntöisesti vahvistaa valintasi Enter-näppäimellä ja peruuttaa Esc-näppäimellä. Älkäämme petäkö heitä ohjelmissamme, varsinkin kun se on erittäin helppo tehdä. Jos painike vastaa Enter-näppäintä, aseta Oletus-ominaisuuden arvoksi tosi. Aseta Esc-näppäimeen reagoivan painikkeen Peruuta-ominaisuuden arvoksi tosi. Siinä kaikki.

kyllä ​​vai ei

Kaikki valintaikkunat, joka pyytää käyttäjän toimia, sisältää vähintään kaksi painiketta: toiminnon vahvistus ja toiminnon kieltäminen (Kyllä/Ei, Tallenna/Peruuta jne.). Toiminto voidaan peruuttaa sulkemalla ikkuna [X]-painikkeella ikkunan otsikossa. Ei voida hyväksyä, jos toiminnon vahvistamiseksi on vain yksi painike, ja kieltäytymisen oletetaan sulkevan ikkunan otsikossa olevalla [X]-painikkeella, tai kieltäytymismahdollisuutta ei ole ollenkaan. Tämä hämmentää käyttäjää ja herättää loogisen kysymyksen: kuinka kieltäytyä?

Älä myöskään unohda mitä sanottiin yllä kohdassa "Oletuspainikkeet".

Kaikkien valintaikkunoiden pitäisi avautua näytön keskelle

Keskitetty, ei sinne, missä ne luotiin suunnittelutilassa. Ensinnäkin se on visuaalisempi, ja toiseksi se poistaa automaattisesti eri käyttäjien näytön eri resoluutioiden ongelman.

Poikkeuksena on, jos valintaikkuna ei ole modaalinen ja käyttäjän tässä ikkunassa tekemän työn seurauksena muutoksia tapahtuu välittömästi pääikkunassa (esim. tietojoukon suodatus, kaavioiden uudelleenpiirtäminen jne.).

Ikkunoiden koko ei saa ylittää näytön kokoa

Ei missään tapauksessa. On häpeällistä, kun osa ikkunasta ulottuu näytön ulkopuolelle. Tämä vaatimus ei riipu käyttäjän näytön resoluutiosta, ts. tekosyyt, kuten "Anna heidän asettaa korkeampi resoluutio", eivät toimi.

Ikkunaelementtien oikea koon muuttaminen

Ikkunaelementtien kokoa tulee muuttaa tai ne liikkuvat oikein, kun ikkunan kokoa muutetaan, kun ikkuna suurennetaan ja kun ikkuna palautetaan suurentamisen jälkeen.

Kaikki on aina näkyvissä

Ikkunan koon pienentäminen ei saa johtaa ikkunaelementtien katoamiseen, eikä se saisi mieluiten johtaa itse ikkunan vierityspalkkien (rullarullien) ilmestymiseen. Voit rajoittaa ikkunoiden vähimmäiskokoa niin, että kaikki elementit ovat näkyvissä ja käytettävissä. Jos komponentteja ei ole mahdollista sijoittaa niin, että ne ovat kaikki näkyvissä ikkunassa, voit jakaa komponentit ryhmiin kirjanmerkkien (kuten PageControl) avulla. Emme myöskään jätä huomiotta näytön resoluutioon liittyviä tekosyitä.

Vihjeitä kaikkialla, vihjeitä aina

Painikkeille, varsinkin työkaluriville (kuten työkaluriville), tulee määrittää vihjeet, jotta on aina selvää, miksi tätä tai toista painiketta tarvitaan.

Värispektri

Lomakkeen komponentteja ei pidä maalata kaikissa sateenkaaren väreissä. Tämä väsyttää silmiä ja häiritsee käyttäjän huomion. Se ei näytä "viileältä". Korostusta käytetään, kun on tarpeen kiinnittää käyttäjän huomio tiettyyn elementtiin tai tiettyyn ikkunan osaan. Esimerkiksi väritietueet, jotka sisältävät virheitä vaaleanpunaisella värillä, tai päinvastoin tietueet, jotka on tarkastettu onnistuneesti vaaleanvihreällä värillä.

Johtopäätös

On olemassa erittäin hyvä menetelmä, jonka avulla voit löytää puutteita ohjelmassa yleensä ja käyttöliittymässä erityisesti. Se on yksinkertaista: kuvittele itsesi käyttäjän paikalle ja yritä puoli tuntia työskennellä hänen tavallaan. On vielä parempi, jos käyttäjäsi on kantaman sisällä (esimerkiksi työskentelee samassa organisaatiossa). Tässä tapauksessa istu hänen viereensä, tai vielä parempaa, hänen sijaansa ja yritä tehdä hänen työnsä. Syötä tiedot, muuta niitä, näytä raportteja jne. Jos et tiedä, miten se tehdään oikein, kysy käyttäjältäsi. Älä tee vain yhtä tai kahta samantyyppistä toimintoa, kuten virheenkorjaustilassa, vaan 20-30 tai jopa useampia eri toimintoa eri järjestyksessä. Unohda kirjoittaa jotain tai kirjoita se väärin ja katso kuinka ohjelma reagoi siihen. Näet nopeasti ohjelmasi heikkoudet.

Artikkelin kirjoittaja automatisoi yliopiston valintalautakunnan työn, ja ensimmäisenä ohjelman käyttöönoton vuonna hän vietti 3-4 tuntia päivässä valintalautakunnassa rekisteröiden hakijoita, täyttäen heidän henkilötietojaan ja luovuttaen heille koeraportit. Ja loput työaika virheet ja puutteet korjattu. Uskokaa minua, ensi vuonna ei käytännössä ole enää ongelmia. Sama tapahtui henkilöstömoduulin käyttöönoton yhteydessä.

Pidä siis käyttökokemus mielessä. Tee heidän työskentelystä ohjelmiesi kanssa helppoa ja miellyttävää.

Yksi ja eniten vahvuuksia ympäristöön Delphi ohjelmointi on sen avoin arkkitehtuuri, jonka ansiosta Delphi mahdollistaa eräänlaisen metaohjelmoinnin, jolloin voit "ohjelmoida ohjelmointiympäristöä". Tämä lähestymistapa muuttaa Delphin korkealaatuiseksi uusi taso sovelluskehitysjärjestelmät ja voit upottaa tähän tuotteeseen lisätyökaluja, jotka tukevat lähes kaikkia luomisen vaiheita sovellusjärjestelmät. Näin laaja valikoima mahdollisuuksia avautuu Delphissä toteutetun ns. avoimien rajapintojen konseptin ansiosta, jotka ovat yhteyslinkki IDE:n (Integrated Development Environment) ja ulkoisten työkalujen välillä.

Tämä artikkeli on omistettu Delphin avoimille käyttöliittymille ja antaa yleiskatsauksen niiden tarjoamista ominaisuuksista. Delphi määrittelee kuusi avointa käyttöliittymää: työkaluliittymä, suunnitteluliittymä, asiantuntijaliittymä, tiedostoliittymä, muokkausliittymä ja versionhallintaliittymä. On epätodennäköistä, että tämän artikkelin puitteissa pystyisimme kattamaan ja havainnollistamaan yksityiskohtaisesti kunkin niistä ominaisuuksia. Delphin lähdetekstit auttavat sinua ymmärtämään käsiteltäviä asioita perusteellisemmin, onneksi kehittäjät ovat toimittaneet niille yksityiskohtaisia ​​kommentteja. Julkisia rajapintoja edustavien luokkien ilmoitukset ovat vastaavissa moduuleissa hakemistossa...\Delphi\Source\ToolsAPI. Suunnitteluliittymä (moduuli DsgnIntf.pas) tarjoaa työkaluja ominaisuuseditorien ja komponenttieditorien luomiseen.

Ominaisuus- ja komponenttieditorit ovat erillisen keskustelun arvoinen aihe, joten muistetaan vain, että ominaisuuseditori ohjaa Object Inspectorin toimintaa yrittäessään muuttaa vastaavan ominaisuuden arvoa ja komponenttieditori aktivoituu, kun tuplaklikkaus hiiren vasen painike lomakkeelle sijoitetun komponentin kuvan päällä. Version Control Interface (VCSIntf.pas-moduuli) on tarkoitettu versionhallintajärjestelmien luomiseen. Versiosta 2.0 lähtien Delphi tukee integroitua versionhallintajärjestelmää Intersolv PVCS, joten useimmissa tapauksissa ei ole tarvetta kehittää omaa järjestelmää. Tästä syystä jätämme huomiotta myös versionhallintaliittymän. File Interface (FileIntf.pas-moduuli) mahdollistaa IDE:n toimivan tiedostojärjestelmän ohituksen, jolloin voit valita oman tapasi tallentaa tiedostoja (esimerkiksi tietokantapalvelimen Memo-kentissä). Edit Interface (moduuli EditIntf.pas) tarjoaa pääsyn lähdetekstipuskuriin, jonka avulla voit analysoida ja luoda koodia, määrittää ja muuttaa kohdistimen sijaintia koodieditori-ikkunassa sekä ohjata lähdetekstin syntaktista korostusta.

Erikoisluokat tarjoavat rajapinnat lomakkeeseen sijoitettuihin komponentteihin (komponentin tyypin määrittäminen, viittausten hankkiminen ylä- ja alakomponentteihin, ominaisuuksien käyttö, kohdistuksen siirto, poistaminen jne.), itse lomakkeeseen ja projektin resurssitiedostoon. Muokkausliittymän avulla voit myös tunnistaa ns. modulaariset ilmoitukset, jotka määrittävät reaktion tapahtumiin, kuten moduulin lähdetekstin muuttaminen, lomakkeen muuttaminen, komponentin uudelleennimeäminen, moduulin tallentaminen, uudelleennimeäminen tai poistaminen, projektin resurssitiedoston muuttaminen, jne. Tool Interface (ToolIntf-moduuli. pas) tarjoaa kehittäjille mahdollisuuden hankkia niitä yleistä tietoa IDE:n tilasta ja toimintojen suorittamisesta, kuten projektien ja yksittäisten tiedostojen avaamisesta, tallentamisesta ja sulkemisesta, moduulin luomisesta, nykyisestä projektista tiedon hankkiminen (moduulien ja lomakkeiden lukumäärä, niiden nimet jne.), rekisteröinti tiedostojärjestelmä, rajapintojen järjestäminen yksittäisiin moduuleihin jne. Modulaaristen ilmoitusten lisäksi Tool Interface määrittelee lisäosat, jotka ilmoittavat tapahtumista, kuten tiedostojen ja projektien avaamisesta/sulkemisesta, työpöytäprojektitiedoston lataamisesta ja tallentamisesta, projektimoduulien lisäämisestä/poissulkemisesta, pakettien asentamisesta/poistamisesta, projektin kokoamisesta ja in Toisin kuin modulaariset ilmoitukset, lisäosien ilmoittajien avulla voit peruuttaa joidenkin tapahtumien suorittamisen.

Lisäksi Tool Interface tarjoaa tavan päästä Delphi IDE:n päävalikkoon, jolloin voit upottaa siihen lisäkohteita. Expert Interface (ExtIntf.pas-moduuli) on perusta asiantuntijoiden luomiselle - ohjelmistomoduuleille, jotka on sisäänrakennettu IDE:hen laajentamaan sen toimintoja. Esimerkki asiantuntijasta on Delphi Database Form Wizard, joka luo lomakkeen tietokantataulukon sisällön tarkastelua ja muuttamista varten. Asiantuntijaluokan määrittämisen jälkeen meidän on varmistettava, että Delphi "oppii" asiantuntijastamme. Tätä varten sinun on rekisteröitävä se kutsumalla RegisterLibraryExpert-proseduuri ja välitettävä sille parametrina asiantuntijaluokan esiintymä. Tehdään esimerkkinä yksinkertainen esStandard-tyylinen asiantuntija, joka, kun valitset vastaavan Delphi-valikkokohdan, näyttää viestin, että se on käynnissä. Kuten yllä olevasta taulukosta näet, esStandard-tyyli edellyttää kuuden menetelmän ohittamista:

Jotta asiantuntija saadaan "toimiin", sinun on valittava Komponentti/Asenna komponentti... -valikkokohta, valittava Selaus-valintaikkunasta asiantuntijan sisältävä moduuli (tapauksessamme exmpl_01.pas), napsauta OK ja dclusr30.dpk-paketin kääntämisen jälkeen Delphin päävalikon Ohje-osiossa Simple Expert 1 -kohdan pitäisi ilmestyä, kun se on valittuna, näkyviin tulee ilmoitus "Standard Expert aloitti!". Miksi Delphi sijoittaa asiantuntija-valikkokohdan Ohje-osioon, jää mysteeriksi. Jos et pidä siitä, että valikkokohta näkyy missä Delphi haluaa, ei minne haluat, seuraava vaihtoehto on mahdollinen: luo asiantuntija apuohjelmatyyliin, joka eliminoi valikkokohdan automaattisen luomisen ja lisää valikkokohta "manuaalisesti" työkaluliittymän avulla. Näin voit asettaa uuden kohteen sijainnin päävalikossa mielivaltaisella tavalla.

Lisätäksesi valikkokohdan, käytä työkalurajapinnan perustana olevaa TIToolServices-luokkaa sekä luokkia TIMenuIntf, TIMEnuItemIntf, jotka toteuttavat liitännät IDE-päävalikkoon ja sen kohtiin. ToolServices-luokan TIToolServices ilmentymä luo itse IDE, kun se alustetaan. Huomaa, että vastuu Delphin päävalikon ja sen kohteiden käyttöliittymien julkaisemisesta on täysin kehittäjällä. Matkan varrella monimutkaistaan ​​hieman asiantuntijan toiminnallista kuormitusta: kun aktivoit sen valikkokohdan, se antaa varmenteen vuonna avatun projektin nimestä. Tämä hetki ympäristössä: Tässä esimerkissä keskeisellä paikalla on AddIDEMenuItem-toiminto, joka lisää valikkokohdan Delphi IDE:n päävalikkoon. Se saa parametreina uuden valikkokohdan tekstin, sen tunnisteen, sen kohdan tunnisteen, jonka eteen uusi kohta lisätään, näppäimen symbolisen esityksen, jota voidaan käyttää yhdessä Ctrl-näppäimen kanssa nopea pääsy uuteen nimikkeeseen ja tapahtumakäsittelijä, joka vastaa uuden kohteen valintaa. Olemme lisänneet uuden valikkokohdan Näytä-osioon ennen Kellot-kohtaa.

Tutustutaanpa nyt ilmoittajiin. Määritetään apuohjelma, joka seuraa projektien sulkeutumista/avaamista ja muokkaa aktiivisen projektin nimen tallentavaa kenttää vastaavasti (jätämme lyhennyksen vuoksi pois sellaisten menetelmien toteutuksen, jotka eivät ole muuttuneet edelliseen esimerkkiin verrattuna): Toteuttaaksemme ilmoituksen, olemme määrittäneet TAddInNotifier-luokan, joka on jälkeläinen TIAddInNotifier, ja ohittanut FileNotification-menetelmän. IDE kutsuu tätä menetelmää aina, kun tapahtuu tapahtuma, johon apuohjelman ilmoittaja voi vastata (jokainen tällainen tapahtuma on merkitty vastaavalla TFileNotification-tyypin vakiolla). TAddInNotifier-luokan Asiantuntija-kenttä on tottunut palautetta asiantuntijan kanssa (TAddInNotifier.FileNotification-menetelmä). Asiantuntijan tuhoajassa ilmoittaja poistetaan ja ilmoittaja tuhotaan. Havainnollistetaan nyt modulaaristen ilmaisimien käyttöä. Luodaan apuohjelman asiantuntija, joka lähettää viestejä jokaisesta projektitiedoston tallennustoimenpiteestä (lyhyyden vuoksi emme esitä meille jo tuttujen menetelmien toteutusta): Tässä esimerkissä apuohjelman asiantuntija seuraa tapahtumia vastaten hankkeiden avaamista/päättämistä.

Joka kerta kun projekti avataan, rekisteröidään projektitiedostoa vastaava modulaarinen ilmoitus. Toteutuksen suhteen modulaariset ilmoitukset ovat samanlaisia ​​kuin lisäosoittimet: määrittelemme TModuleNotifier-luokan, joka on TIModuleNotifierin jälkeläinen, ja ohitamme sen Notify- ja ComponentRenamed-metodit. IDE kutsuu Notify-menetelmää, kun tiettyjä tähän moduuliin liittyviä tapahtumia tapahtuu; Tässä menetelmässä määritetään reaktio tiettyyn tapahtumaan. ComponentRenamed-menetelmää kutsutaan, kun komponentin nimi moduulilomakkeessa muuttuu. Huomaa, että emme käytä tätä menetelmää, mutta meidän on ohitettava se, muuten komponentin nimen muuttuessa kutsutaan perusluokan abstraktia menetelmää, mikä johtaa arvaamattomiin seurauksiin.

Modulaarisen ilmoituksen rekisteröinti on hieman monimutkaisempi prosessi kuin apuilmoituksen rekisteröinti: hankimme ensin moduulirajapinnan (TIModuleInterface) ja sitten rekisteröimme ilmoituksen moduulirajapinnalla. Kun projekti suljetaan, modulaarisen ilmoituksen rekisteröinti poistetaan (jälleen TIMOduleInterfacen avulla) ja ilmoittaja tuhoutuu. Lopuksi näytämme, kuinka voit määrittää kursorin sijainnin koodieditori-ikkunassa. Luodaan asiantuntija, joka oikeaa valikkokohtaa valittaessa näyttäisi viestin, joka sisältää aktiivisen tiedoston nimen ja kohdistimen sijainnin siinä (näkyy vain tässä esimerkissä oleellisten menetelmien toteutus): Määrittääksesi kohdistimen sijainnin, meidän on hankittava seuraava rajapintojen sarja: modulaarinen rajapinta (TIModuleInterface); koodieditorin käyttöliittymä (TIEditorInterface); moduulin esittelyliittymä editoriikkunassa (TIEditView).

Jos asiantuntijavalikon kohtaa valittaessa lähdetekstitiedosto (*.pas) on aktiivinen, näyttöön tulee viesti, joka sisältää aktiivisen tiedoston nimen ja kursorin nykyisen sijainnin siinä. Jos aktiivinen tiedosto ei ole pas-tiedosto, viestiä ei lähetetä. Saadaksesi aktiivisen tiedoston nimen, käytä TIToolServices-luokan GetCurrentFile-metodia. Tämä päättää pohdiskelumme tapoista käyttää avoimia käyttöliittymiä. CD-ROM sisältää kaikkien annettujen esimerkkien lähdekoodin. CD-ROM sisältää myös monimutkaisemman ja yksityiskohtaisemman esimerkin, joka sisältää apuohjelman asiantuntijan, jonka avulla käyttäjä voi lisätä Delphi-moduulien lähdetekstin kirjanmerkkeihin. Lyhyt opas Bookmarks Expertin asentamiseen ja käyttöön on tiedostossa bkmrks97.htm. Joten tämä artikkeli tarjoaa yleiskatsauksen avoimista liitännöistä ja esimerkkejä niiden käytöstä. Toistakaamme vielä kerran: avoimien käyttöliittymien lähdekoodien saatavuuden ansiosta voit helposti ymmärtää sinua kiinnostavat yksityiskohdat. Toivomme, että avoimien käyttöliittymien tarjoamat mahdollisuudet antavat sinulle enemmän kuin yhden rohkean ja hyödyllisen idean.

vain tuloksen vuoksi

määräaikojen tiukka noudattaminen

Läpinäkyvyys

hankkeen toteuttaminen

tekninen tuki lahjaksi

Ohjelmointi, modifikaatiot, konsultaatiot 1C:stä

Miten toimimme

1. Keskustelemme ongelmasta puhelimitse. Läsnäollessa etäyhteys- näytä tietokoneen näytöllä.

2. Arvioimme työn ruplissa, jos projekti on suuri, jos ei, likimääräinen tuntimäärä.

3. Teemme työn.

4. Hyväksyt ohjelmasi työn, jos puutteita ilmenee, korjaamme ne.

5. Annamme laskun, sinä maksat.

Työn hinta

1. Kaikki työ on jaettu 3 kategoriaan: konsultointi, vakiokonfiguraation päivitys, uuden raportin kehittäminen tai ohjelmointi, käsittely, painike jne.

3. Yli 10 tunnin työt on valmisteltava etukäteen. tekninen tehtävä kuvauksella ja työn hinnalla. Työ alkaa, kun tekniset tiedot on sovittu kanssasi.

Tekninen tuki

1. Jos havaitset virheitä aiemmin hyväksytyissä töissä 3 kuukauden sisällä, korjaamme ne maksutta.

2. Kanta-asiakkaille korjaamme työssämme havaitut puutteet veloituksetta vuoden sisällä.

Ohjelmisto yrityksesi hallintaan.

Osta 1C:Enterprise

Me olemme virallinen jälleenmyyjä 1C yritys, voit ostaa meiltä erilaisia ohjelmistotuotteet ja lisenssit. Laatikon ostamisen lisäksi autamme sinua ohjelman asettamisessa, neuvomme ja perusasetukset.

  • Kirjanpito
  • Myymäläautomaatio
  • Tukkukauppa
  • Asennusapu ja alkuasennus sisältyy pakettiin!
  • Kokoonpanojen hienosäätö asiakkaan tarpeiden mukaan, uusien moduulien kehittäminen, mikäli vakiokokoonpanossa ei ole tarvittavia toimintoja.
1c kirjanpito 1C: Kaupan hallinta 1C: Vähittäiskauppa 1C: Palkka- ja henkilöstöhallinta
Alkaen 3300 ruplaa. Alkaen 6700 ruplaa. Alkaen 3300 ruplaa. Alkaen 7400 ruplaa.

Palvelimen tarjonta.

Palvelimen välitön asennus + 1C.

Ei palvelinta? Ei hätää, valitsemme ja määritämme palvelimen nopeasti pilvessä. Pienellä maksulla saat erittäin luotettavan ratkaisun.

  • Saatavuus 24/7
  • Ei tarvitse pitää omaa Järjestelmänvalvoja(säästöt kattavat palvelinkulut).
  • 1C:n nopea asennus ja asennus palvelimelle, 3 päivässä sinulla on jo täysin toimiva järjestelmä.
  • Voit muuttaa kohteeseen paikallinen palvelin, jos ratkaisu ei ole tyydyttävä.

SMS 1C:ltäsi

Haluatko, että asiakkaasi saavat tiedon kampanjoista ja alennuksista? Eivätkö asiakkaat palaa? Määritä tekstiviestien lähettäminen suoraan 1C:stä!

Yrityksemme pystyy nopeasti määrittämään tekstiviestien lähettämisen asiakkaillesi suoraan 1C:stä. Esimerkkejä tapahtumista, jotka voidaan automatisoida:

  • Kiitos ostoksesta ja bonukset myönnetään heti seuraavan oston jälkeen.
  • Bonusten kertyminen korttiin syntymäpäivälahjaksi/muuksi merkittäväksi tai lomaksi.
  • Ilmoitus tavaran saapumisesta varastoon.
  • Lahjabonusten vanheneminen.
  • Ilmoitus ennakkomaksun vastaanottamisesta ja tavaran varaus.
  • Osoite ja ajo-ohjeet myymälään/toimistoon, puhelinnumerot.
  • Ja niin edelleen.

Asiantuntijamme tai työntekijäsi voivat tehdä asennuksen 1C:ssä. Voit tarkastella hintoja SMS-tariffit-sivulla.

  • Taattu tekstiviestin toimitus, rahaa veloitetaan vain toimitetusta tekstiviestistä.
  • Jokaiselle tekstiviestille erillinen hinta.
  • Täydennä saldoasi eri tavoilla.
  • Tarkastele kaikkien lähetettyjen tekstiviestien historiaa milloin tahansa.
  • Lähettäjän nimi viestin vastaanottajan puhelimessa olevan digitaalisen numeron sijaan.

Olio-ohjelmointi (OOP) sisältää luokan käsitteen lisäksi myös rajapinnan peruskäsitteen.

Mikä on käyttöliittymä ja mitä ominaisuuksia sen kanssa työskenteleminen on Delphi-ohjelmointikielellä?

Käyttöliittymä on semanttinen ja syntaktinen rakennelma ohjelmakoodissa, jota käytetään määrittämään luokan tai komponentin tarjoamat palvelut (Wikipedia).

Pohjimmiltaan rajapinta määrittelee luettelon ominaisuuksista ja menetelmistä, joita on käytettävä, kun työskennellään tämän rajapinnan toteuttaman luokan kanssa, sekä niiden allekirjoituksen (nimi, tietotyyppi, hyväksytyt parametrit (menettelyille ja funktioille) jne.). Näin ollen luokan, joka toteuttaa tietyn rajapinnan, on toteutettava kaikki sen komponentit. Lisäksi tiukasti sen mukaisesti, miten ne on kuvattu siinä.

Liitäntöjä verrataan usein abstrakteihin luokkiin, mutta kaikista yhtäläisyyksistä huolimatta tämä vertailu ei ole täysin oikea. Abstraktien luokkien avulla voit ainakin hallita jäsenten näkyvyyttä. Samanaikaisesti rajapinnoille ei ole määritelty laajuuksia.

Liitäntöjen avulla voit tehdä arkkitehtuurista joustavamman, koska ne yhdistävät pääsyn johonkin toimintoon ja auttavat myös välttämään useita luokan periytymiseen liittyviä ongelmia (rajapinnat voivat myös periytyä toisiltaan).

Voit ilmoittaa liittymän Delphissä käyttämällä liitäntäavainsanaa. Tämä on sama avainsana, joka määrittelee moduulin osan, johon pääsee ulkopuolelta (rajapinnan ja toteutusavainsanojen väliltä). Liittymää määritettäessä käytetään kuitenkin eri syntaksia, kuten luokkien ilmoittamisessa.

Delphi/Pascal

IMyNewInterface = liitäntämenettely InterfaceProc; loppu;

IMyNewInterface =käyttöliittymä

menettely InterfaceProc ;

loppu;

Siten itse käyttöliittymän ilmoitussyntaksi ei eroa pohjimmiltaan muista ohjelmointikielistä (Pascaliin perustuvan syntaksin ominaisuuksia ei lasketa). Samanaikaisesti rajapintojen toteutuksella on useita ominaispiirteitä.

Tosiasia on, että Delphi-rajapinnat otettiin alun perin käyttöön tukemaan COM-tekniikkaa. Siksi IIInterface-rajapinta, joka Delphissa on kaikkien muiden liitäntöjen esi-isä (eräänlainen TObject-analogi), sisältää jo kolme perusmenetelmää työskennellä tämän tekniikan kanssa: QueryInterface, _AddRef, _Release. Tämän seurauksena, jos luokka toteuttaa minkä tahansa rajapinnan, sen on myös toteutettava nämä menetelmät. Vaikka tämä luokka ei ole tarkoitettu COM-työhön.

Tästä IIInterface-liitännän ominaisuudesta johtuen Delphissä rajapintojen käyttö johtaa useimmissa tapauksissa ilmeisen käyttämättömien ominaisuuksien lisäämiseen luokkaan.

On olemassa kirjastoluokka TInterfaceObject, joka sisältää jo näiden menetelmien toteutuksen, eikä niistä periytyessään tarvitse niitä itse toteuttaa. Mutta koska Delphi ei tue usean luokan periytymistä, sen käyttö aiheuttaa usein vain lisävaikeuksia jo vaadittujen toimintojen suunnittelussa ja toteutuksessa.

Kaikki tämä johti siihen, että kaikista rajapintojen tarjoamista mahdollisuuksista huolimatta he käytännön käyttöä Delphissä lähes mikään ei ole mennyt muuta kuin työskentely COM:n kanssa.

Koska ne on optimoitu toimimaan pääasiassa tällä tekniikalla, rajapinnat, tai pikemminkin niiden toiminnallisuus ja arkkitehtoniset rajoitukset, joita ne välttämättä lisäävät, eivät oikeuta itseään muita ongelmia ratkaistaessa.

Siksi monet Delphi-ohjelmoijat ovat edelleen itse asiassa vailla tehokasta ja joustavaa työkalua sovellusarkkitehtuurin kehittämiseen.

Luominen käyttöliittymä käyttäjä rajoittuu valitsemaan ohjelman toimintaan tarvittavien komponenttien paletista Delphin komponentit, työntekijät käyttöliittymä hallinta sekä käyttöliittymä tietojen näyttäminen ja siirtäminen lomakkeelle myöhemmän asettelun kanssa.

Luomasi käyttöliittymän tulee käyttää käyttäjille tuttuja vakioelementtejä ja tarjota mahdollisimman kätevää. Kaikki tämä määräytyy viime kädessä sellaisen kriteerin mukaan kuin käyttöliittymän tehokkuus - maksimaaliset tulokset pienellä vaivalla.
Käyttäjäystävällisen käyttöliittymän luomisen periaatteet tunnetaan. Yleisimpinä periaatteina luotaessa käyttöliittymät Kolmea pääkohtaa voidaan harkita:

  1. Ohjelman pitäisi auttaa suorittamaan tehtävä, eikä siitä tule sitä tehtävää.
  2. Kun työskentelet ohjelman kanssa, käyttäjän ei pitäisi tuntea olevansa hölmö.
  3. Ohjelman tulee toimia siten, että käyttäjä ei pidä tietokonetta tyhmänä.
Ensimmäinen periaate- tämä on käyttöliittymän niin kutsuttu "avoimuus". Käyttöliittymän tulee olla intuitiivinen, helppo oppia, eikä se saa aiheuttaa käyttäjälle ongelmia, jotka hänen on voitettava työprosessin aikana. Käytä vakiokomponentteja ilman tarpeetonta koristelua, käytä tuttuja ohjaustekniikoita, joita vastaavat ohjelmat käyttävät, niin saavutat suorituskriteerit ensimmäinen periaate.

Toinen periaate on laiminlyödä käyttäjien älyllisiä kykyjä. Omasta kokemuksestani tiedän, että usein käyttäjät eivät vain osaa työskennellä tietokoneella, vaan pelkäävät yksinkertaisesti tehdä mitään itse. Siksi käyttöliittymän tulee olla mahdollisimman ystävällinen.
Lisäksi käyttäjien pelot ovat usein perusteltuja, koska ohjelman ja jopa tietokoneen kustannuksia ei voi verrata esimerkiksi monen vuoden työllä luodun tietokannan kustannuksiin. Siksi ohjelmoijan on käyttöliittymää luodessaan aina rakennettava ohjelmaan "idioottivarma suojaus" - virheellisiä toimia ja virheellisten tietojen syöttämistä vastaan. Mutta jotkut ohjelmoijat ovat liian innostuneet tällaisesta suojauksesta, tekevät siitä liian häiritsevän, ja sen seurauksena ohjelman toiminta muistuttaa kuuluisaa "askel vasemmalle, askel oikealle katsotaan pakoksi"! Ja se, mitä ohjelmoija luo ratkaisuksi ongelmaan, alkaa itse luoda ongelmia.
Noudattaa toinen periaate ohjelman ei tarvitse antaa "korjata" käyttäjän toimia ja osoittaa tarkasti, kuinka hänen tulisi toimia, pakottamalla hänet kapeaan kehykseen. Sinun ei myöskään pidä hukata liikaa informatiivisten kehotteiden näyttämiseen, varsinkaan valintaikkunaan, koska tämä häiritsee käyttäjää työstä. Olisi parempi tarjota mahdollisuus poistaa vihjeet kokonaan käytöstä.

Kolmas periaate on luoda ohjelma, jolla on korkeimmat mahdolliset "henkiset" ominaisuudet. Nopeasta kehityksestä huolimatta tietokonelaitteisto, jopa laajalti käytettyjä ohjelmia voidaan vain hyvin ehdollisesti kutsua tekoälyksi. Ne häiritsevät käyttäjän työtä näyttämällä valintaikkunoita, joissa on tyhmiä kysymyksiä, jotka aiheuttavat hämmennystä yksinkertaisimmissakin tilanteissa. Tämän seurauksena käyttäjät huutavat sydämessään: "Mikä tyhmä kone!"
Minua henkilökohtaisesti ärsyttävät melkein kaikkien jatkuvat kysymykset tekstieditorit siitä, tallennetaanko muutettu teksti, vaikka alkuperäinen ja nykyinen teksti eivät eroa millään symbolilla. Kyllä, kirjoitin jotain, mutta sitten palautin kaiken takaisin, onko se todella mahdotonta selvittää! Minun täytyy tarkistaa, enkö ole pilannut mitään.

Yritä noudattaa seuraavia sääntöjä:

Normaalit käyttöliittymäelementit
Käytä tämän liitäntäelementin vakiokomponentteja. Kohdattuaan ohjelmasi käyttäjä ei tuhlaa aikaa toistensa tuntemiseen, vaan alkaa heti työskennellä - tämä on yksi ammattimaisesti tehdyn ohjelman merkkejä.
Pieni paletti työkaluja
Älä käytä liikaa eri komponentteja. Ja luonnollisesti, kun olet käyttänyt yhtä vakiokomponenttia jossain yhdessä paikassa, käytä sitä myös vastaavassa tapauksessa.
Tasainen väli säätimien välillä
Sijoita käyttöliittymäelementit samalle etäisyydelle toisistaan. Satunnaisesti hajallaan olevat komponentit luovat tunteen epäammattimaisesti tehdystä tuotteesta. Ja päinvastoin, huolellisesti tarkistettu painikkeiden, kytkimien, valintaruutujen ja muiden lomakkeen käyttöliittymän muodostavien komponenttien sijoittelu on merkki laadukkaasta työstä.
TabOrder. "Oikea järjestys
TabOrder on järjestys, jossa näytön kohdistin liikkuu säätimien välillä, kun näppäintä painetaan Tab. Oikein kirjoitetussa ohjelmassa kursori liikkuu käyttäjän ohjelman kanssa työskentelyn logiikkaa noudattaen. Ohjelmaa luodessaan ohjelmoija usein muuttaa komponentteja, poistaa joitakin ja lisää tarvittaessa. Seurauksena on, että valmiissa ohjelmassa kohdistin hyppää kaoottisesti lomakkeen ympäri. Kun olet suorittanut ohjelman, älä unohda määrittää asetuksia TabOrder.
Fontin valinta
Jätä vain fontit rauhaan. Delphin oletusfontit sopivat kaikkiin järjestelmiin, joissa ohjelmasi saattaa toimia. Käytä lihavoitua fonttia vain korostaaksesi tärkeitä elementtejä. Sovellus kursivoitu ja erityisesti alleviivaus, jonka käyttäjä saattaa luulla hyperlinkiksi, on huono muoto.
Värien valinta
Mitä tulee käyttöliittymäelementtien väreihin, aivan kuten fonttienkin tapauksessa, on parempi jättää ne oletuksena vakioiksi. Delphi käyttää Windowsin järjestelmäpalettia ja käyttäjä voi helposti muokata värejä muuttamalla sitä.
Vaihtoehtoinen hallinta
Ammattitaidolla tehtyä ohjelmaa tulee voida ohjata paitsi hiirellä myös näppäimistöllä. Ei saa olla toimintoja, joita voidaan suorittaa vain hiirellä (piirtäminen graafiset editorit ei lasketa!). Eniten käytettyjä toimintoja varten sinun tulee tarjota "pikanäppäimet" nopeaa käyttöä varten.
Käyttöliittymä tiilet
Mitä tulee käyttöliittymän tiettyihin elementteihin, käyttäjän vuorovaikutuksen laatu ohjelman kanssa riippuu:
  • ohjauselementin vastaavuus sen suorittamaan tehtävään;
  • säännöt, joiden mukaan ohjauselementti toimii.
    Tällä sivulla käsitellään joidenkin käyttöliittymäelementtien luomisen sääntöjä.
Ja nyt haluan näyttää, mitä työkaluja Delphi tarjoaa lomakkeen komponenttien hallintaan, niiden suhteellisen sijainnin ja kohdistimen käyttäytymisen näppäintä painettaessa Tab.

Järjestä ensin komponentit suhteessa toisiinsa oikeassa järjestyksessä on tarpeen korostaa niitä. Voit yksinkertaisesti ympyröidä lomakkeen alueen, joka sisältää valitut komponentit. Tai pitämällä " Siirtää", käytä samaa hiirtä jokaisen valittavan komponentin osoittamiseen. Napsauta hiirtä uudelleen valitun komponentin päällä (samalla kun painat " Siirtää") poistaa sen valinnan.

Valittuja komponentteja voidaan hallita yhtenä kokonaisuutena - siirtää lomakkeella, määrittää arvot samoihin ominaisuuksiin, kopioida (asennusta varten esimerkiksi toiselle lomakkeelle), jopa poistaa.

Napsauta nyt hiiren kakkospainikkeella yhtä komponenteista ja valitse ponnahdusvalikosta Sijainti -> Tasaa... Näyttöön tulee valintaikkuna, jonka avulla voit säätää ryhmän komponenttien vaaka- ja pystysijaintia. Meidän on esimerkiksi kohdistettava neljä painikettamme vasemmalle ja varmistettava, että niiden välillä on sama pystysuora etäisyys. Voit tehdä tämän valitsemalla valintanapit Vaaka: Vasemmat sivut Ja Pysty: Tilaa tasaisesti.

Valitsemalla kohteen Keskusta, järjestämme komponentit niin, että niiden keskipisteet sijaitsevat samalla rivillä vaaka- tai pystysuunnassa, ja tuote Keskellä ikkunassa siirtää komponentteja ikkunan keskelle, myös vaaka- tai pystysuunnassa.

Samalla valikkorivillä Tab O rder... aiheuttaa valintaikkunan, joka ohjaa kohdistimen liikkumista käyttöliittymäelementtien välillä, kun näppäintä painetaan Tab. Kun lomake tulee näyttöön, kohdistin on luonnollisesti valintaikkunan ensimmäisellä rivillä olevan komponentin päällä. Ja sitten se siirtyy luettelossa alaspäin. Valintaikkunassa kaksi sinistä ylös- ja alanuolta ohjaavat valitun komponentin sijaintia. Valitse haluamasi komponentti, siirrä se nuolilla haluamallesi riville luettelossa ja niin edelleen.

Valittaessa valikkokohtaa Ohjaus -> Näkyviin tulee alivalikko, joka koostuu kahdesta kohdasta:

  • Tuo eteen
  • Lähetä takaisin
Nämä ovat komponenttimenetelmiä, jotka ovat saatavilla myös ohjelmallisesti. Button1.SendToBack siirtää painikkeen "taustalle" ja Button1.BringToFront- tuo eteen". Eli jos yksi komponentti on sijoitettu toisen yläpuolelle, nämä menetelmät vaihtavat paikkojaan. Tapaukset, joissa tämä saattaa päteä, ovat melko ilmeisiä.


Yläosa