Progressbar aus asynchronem Prozeß steuern

roth am Wednesday, 8.September 2010 um 21:30

Public Class Form3

Private m_ToolstripProgressClass As ToolstripProgressClassPublic Sub New()‘ Dieser Aufruf ist für den Designer erforderlich.

InitializeComponent()

‘ Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

m_ToolstripProgressClass = New ToolstripProgressClass(ToolStripProgressBar1)

Dim worker As WorkerClass = New WorkerClass

AddHandler m_ToolstripProgressClass.CallbackIsReady, AddressOf Worker_End

m_ToolstripProgressClass.Start(worker, False)

End Sub

Private Sub Worker_End()

MessageBox.Show(“Asynchron-Callback”)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

m_ToolstripProgressClass = New ToolstripProgressClass(ToolStripProgressBar1)

Dim worker As WorkerClass = New WorkerClassm_ToolstripProgressClass.Start(worker, True)

m_ToolstripProgressClass.Reset()

MessageBox.Show(“Synchron-Ende”)

End Sub

End Class

Public Class ToolstripProgressClass

Public Delegate Sub AsyncValueChanged(ByVal ProgessValue As Integer)

Public Delegate Sub CallbackIsReadyDelegate(ByRef sender As Object, ByRef p_strdate As String)

Public Delegate Sub AsyncLongrunning()Public Event CallbackIsReady(ByRef sender As Object, ByRef p_date As String)

Private m_AsyncMethod As AsyncLongrunning

Private callback As AsyncCallback

Private WithEvents EndeTimer As Windows.Forms.Timer

Private WithEvents m_ToolstripProgress As System.Windows.Forms.ToolStripProgressBar

Public Sub New(ByRef ToolstripProgress As System.Windows.Forms.ToolStripProgressBar)

m_ToolstripProgress = ToolstripProgress

EndeTimer =

New Windows.Forms.TimerEndeTimer.Interval = 3000

End Sub

Public Sub Start(ByRef LongrunningWorker As IWorkerWithProgressEvent, ByVal Synchron As Boolean)

AddHandler LongrunningWorker.ProgressValueChanged, AddressOf ProgressValueChanged

If Synchron Then

LongrunningWorker.Longrunning()

Else

callback = AddressOf CallbackHandlerm_AsyncMethod = AddressOf LongrunningWorker.Longrunning

Dim asyncResult As IAsyncResult = m_AsyncMethod.BeginInvoke(callback, m_AsyncMethod)

End If

End Sub

Public Sub CallbackHandler(ByVal result As IAsyncResult)

Dim asyncmethod As AsyncLongrunning = CType(result.AsyncState, AsyncLongrunning)m_AsyncMethod.EndInvoke(result)

Dim strText As String = “Fertig”

RaiseEvent CallbackIsReady(Me, strText)

End Sub

Private Sub async_CallbackIsReady(ByRef sender As Object, ByRef p_strTxt As String) Handles Me.CallbackIsReady

If m_ToolstripProgress.Owner.InvokeRequired Then

Dim isReady As CallbackIsReadyDelegate = AddressOf async_CallbackIsReady

Dim param As Object() = New Object() {Me, p_strTxt}m_ToolstripProgress.Owner.Invoke(isReady, param)

Else

Reset()

End If

End Sub

Public Sub Reset()m_ToolstripProgress.Value = 100

EndeTimer.Start()

End Sub

Private Sub ProgressValueChanged(ByVal Value As Integer)

If m_ToolstripProgress.Owner.InvokeRequired Then

Dim ValueChanged As AsyncValueChanged = AddressOf ProgressValueChanged

Dim param As Object() = New Object() {Value}m_ToolstripProgress.Owner.Invoke(ValueChanged, param)

Else

m_ToolstripProgress.Value = Value

End If

End Sub

Private Sub EndeTimer_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles EndeTimer.Tick

EndeTimer.Stop()

m_ToolstripProgress.Value = 0

End Sub

End Class

Public Class WorkerClass : Implements IWorkerWithProgressEvent

Public Event ProgressValueChanged(ByVal Value As Integer) Implements IWorkerWithProgressEvent.ProgressValueChanged

Public Sub LongRunning() Implements IWorkerWithProgressEvent.Longrunning

For i As Integer = 0 To 100System.Threading.Thread.Sleep(20)

RaiseEvent ProgressValueChanged(i)

Next

End Sub

End Class

Public Interface IWorkerWithProgressEvent

Event ProgressValueChanged(ByVal Value As Integer)Sub Longrunning()

End Interface

Application Events

roth am Wednesday, 8.September 2010 um 21:26

‘ Für MyApplication sind folgende Ereignisse verfügbar:

‘ Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.‘ Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung nicht normal beendet wird.

‘ UnhandledException: Wird ausgelöst, wenn in der Anwendung eine unbehandelte Ausnahme auftritt.‘ StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn diese bereits aktiv ist.

‘ NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.Partial Friend Class MyApplication

‘'’ ‘'’ Zentrale Fehlerbehandlungsroutine für Fehler, welche nicht per Programmcode

‘'’ behandelt werden‘'’

‘'’

 

‘'’

 

‘'’ Private Sub GeneralErrorHandler(ByVal sender As Object, _ByVal e As System.Threading.ThreadExceptionEventArgs) _Handles MyClass.UnhandledExceptionDim err = New Tools.clsUnhandledErrorUserControls.clsErrorHandler.ToDB(err,

“Unhandled in MyApplication.”)UserControls.clsErrorHandler.ToDialog(err, “Die Anwendung “ + _

“wird geschlossen und muss neu gestartet werden. Das “ + _ “Entwicklerteam wird von diesem Vorgang automatisch benachrichtigt.”)End Sub

PIVOT

roth am Friday, 26.February 2010 um 15:23

select * from (select u.Betrag as Umsatz,v.bezeichnung as Verkäufer,p.bezeichnung as Produkt

from Umsatz u join Produkt p on p.ID=u.IDProdukt

join Verkäufer v on v.ID=u.IDVerkäufer) AS S pivot(sum(Umsatz) for S.Verkäufer in ([Maier],[Schulze],[Müller])) as U

Asynchron und Controls

roth am Wednesday, 27.January 2010 um 14:36

Hier ein Standardbeispiel für das Starten einer asynchronen Aufgabe aus einem Windows-Form und der Verwendung des Ergebisses in einem Control des Forms. Vorausgesetzt wird eine Klasse StringZahl in einem Namespace Zahl.

1. Die Form-Klasse

using System;
using System.Text;
using System.Windows.Forms;

namespace Umrechnung
{
    public partial class Form1 : Form
    {
        ASyncRechnen cThreadClass;
        private delegate void ASyncResultIsReady(Object sender,
                                    Umrechnung.ASyncRechnen.CallbackEventArgs e);
        // Initialisieren der asynchronen Funktionalität
        public Form1()
        {
            InitializeComponent();
            cboBasis.SelectedItem = “10″;
            cThreadClass = new ASyncRechnen();
            cThreadClass.ASyncResultIsReady
                += new ASyncRechnen.ASyncResultIsReadyDelegate(
                            cThreadClass_ASyncResultIsReady);

        }
        // Asynchrones Rechnen starten
        private void button1_Click(object sender, EventArgs e)
        {
            txtString.Text = “Programm rechnet !!!”;
            StringBuilder strVor    =   new StringBuilder(txtVorkomma.Text);
            StringBuilder strNach   =   new StringBuilder(txtNachkomma.Text);
            Int32 nBasis    =   Convert.ToInt32(cboBasis.SelectedItem);
            cThreadClass.AsynchLoad(strVor, strNach, nBasis);
        }
        // Ergebnis des Asynchronen Rechnens in einem Control nutzen
        void cThreadClass_ASyncResultIsReady(Object sender,
                                Umrechnung.ASyncRechnen.CallbackEventArgs e)
        {
            if (txtString.InvokeRequired)
            {
                ASyncResultIsReady cResultIsReady
                    = new ASyncResultIsReady(cThreadClass_ASyncResultIsReady);
                object[] param = new object[] { this, e };
                txtString.Invoke(cResultIsReady, param);
            }
            else
                txtString.Text = e.Result;
        }
        // Anzeige wird ungültig
        private void cboBasis_SelectedValueChanged(object sender, EventArgs e)
        {
            txtString.Text = “Basis hat sich geändert. Wert muss neu errechnet werden.”;
        }
    }
}
2. Asynchrone Funktionalität

using System;
using System.Text;
using Zahl;
using System.Windows.Forms;

namespace Umrechnung
{
    public class ASyncRechnen
    {
        public delegate String WorkerDelegat(StringBuilder p_strVor,
                                            StringBuilder p_strNach,
                                            Int32 p_nBasis);
        public delegate void ASyncResultIsReadyDelegate(Object sender,
                                            CallbackEventArgs e);
        public event ASyncResultIsReadyDelegate ASyncResultIsReady;

        public String WorkerMethod(StringBuilder p_strVor,
                                   StringBuilder p_strNach,
                                   Int32 p_nBasis)
        {
            String strRet   =   “”;
            try
            {
                StringZahl cZahl = new StringZahl(p_strVor, p_strNach, p_nBasis);
                strRet = cZahl.ZahlString.ToString();
            }
            catch (ArgumentException exc)
            {
                MessageBox.Show(exc.Message, “Fehler”);
            }
            return strRet;
        }
        public void AsynchLoad(StringBuilder p_strVor,
                               StringBuilder p_strNach,
                               Int32 p_nBasis)
        {
            WorkerDelegat workerDelegat = new WorkerDelegat(WorkerMethod);
            IAsyncResult asyncResult
                = workerDelegat.BeginInvoke(p_strVor,p_strNach,p_nBasis,
                            new AsyncCallback(CallbackHandler), workerDelegat);
        }
        public void CallbackHandler(IAsyncResult p_cResult)
        {
            WorkerDelegat workerDelegat = (WorkerDelegat)p_cResult.AsyncState;
            String strResult = workerDelegat.EndInvoke(p_cResult);
            CallbackEventArgs arg = new CallbackEventArgs(strResult);
            if (ASyncResultIsReady != null)
                ASyncResultIsReady(this, arg);
        }
        public class CallbackEventArgs : EventArgs
        {
            String strResult;
            public String Result { get { return strResult; } }
            public CallbackEventArgs(String p_strResult)
            {
                strResult = p_strResult;
            }
        }
    }
}

Dynamisches SQL

roth am Wednesday, 28.October 2009 um 18:20

Um Spalten entsprechend der Berechtigung des verwendeten Login in der Datenbank anzuzeigen bzw. auszublenden ist dynamisches SQL notwendig. Dies könnte in etwa so aussehen:

 

Rekursive CTE’s

roth am Wednesday, 24.June 2009 um 16:34

Beispiel für eine rekursive CTE mit einem Text. Analog kann dazu natürlich auch auf eine Datenbanktabelle rekursiv zugegriffen werden.

SQL-Scripte testen

roth am Saturday, 21.February 2009 um 16:32

Um SQL-Scripte auf ihre Syntax und ihre Auswirkungen auf die Daten in der Datenbank zu überprüfen ohne eine Schaden durch eventuelle Fehler zu verursachen können die folgenden Zeilen in das Script eingebaut werden:

– Im Kopf der Scripdatei

IF OBJECT_ID(’tempdb..#err’)<>0 DROP TABLE #err
GO
CREATE TABLE #err (id int IDENTITY, error int)
GO
BEGIN TRAN
GO
====================================================
–Hier stehen die zu testenden SQL-Aktionen, nach welcher jeweils die folgende
–Zeile stehen muss

GO
DECLARE @e int SET @e=@@ERROR IF @@TRANCOUNT=0 BEGIN INSERT #err (error) VALUES (@e) BEGIN TRAN END
GO

===================================================
– Zum Testen ROLLBACK, zum Ausführen COMMIT auskommentieren

IF EXISTS(SELECT * FROM #err)
BEGIN
ROLLBACK
SELECT * FROM #err
END ELSE

– COMMIT
ROLLBACK

Fremdschlüssel aus anderer Datenbank

roth am Saturday, 21.February 2009 um 16:32

Habe ich eine Fremdschlüsselbeziehung zu einer anderen Datenbank kann mit dem folgenden Trigger die refrenzielle Integrität gewahrt werden:

CREATE TRIGGER [dbo].[Triggername] ON [dbo].[Tabelle_mit_Fremdschlüssel]
FOR INSERT, UPDATE
AS

SET NOCOUNT ON

IF NOT EXISTS(SELECT * FROM inserted ins
LEFT JOIN Tabelle T ON T.ID=ins.IDFremdschlüssel WHERE T.ID IS NULL)
RETURN

RAISERROR (50000, 11, 1, ‘IDFremdschlüssel ‘, ‘Tabelle’)

ROLLBACK

Einfügen eines vorgegebenen Primärschlüssels

roth am Saturday, 21.February 2009 um 16:31

Wenn z.B. aus einer gesicherten Tabelle Daten wieder hergestellt werden sollen aber die Primärschlüsselwerte die gleichen bleiben sollen, folgendes Script verwenden:

set identity_insert Tabelle on
insert into Tabelle (ID, Spalten) select ID, Spalten from sicherung.dbo.Tabelle
set identity_insert Tabelle off

ASP.NET-Webdienst

roth am Thursday, 1.March 2007 um 16:35

Erstellen des Servers:

1. Erstellen eines Projektes vom Typ ASP.NET-Webdienstes

2. In der Code-Ansicht implementieren der Methoden mit dem Attribut [WebMethod]

3. Testen des Servers mit F5(Starten). Es erscheint eine generierte Website mit den implementierten Methoden.

4. Um Zwischenergebnisse zu speichern (den Zustand halten) erhält das WebMethod-Attribut den Parameter EnableSession ( [WebMethod(EnableSession=true)] ). In der dazugehörigen Service-Methode ist eine Sessionvariable anzulegen, welche den entsprechenden Wert speichert ( Session[”Name”] = Wert; ). AWenn für alle Clienten die gleichen daten verwendet werden sollen, ist stattdessen ein Application-Objekt zu benutzen. Zur Verhinderung paraller Zugriffe verwendet man Lock() und UnLock().

5. Zum Caching von daten (z.B. bei DB-Aufrufen) erhält WebMethod den Parameter CacheDuration.

 [WebMethod(CacheDuration=5)]

Der Zahlenwert gibt die Speicherdauer in Sekunden an.

6. Jeder Webdienst sollte einen eigenen Namensraum zugwiesen bekommen. Die jeweilige Klasse erhält dazu das Attribut: [WebService(Namespace=”http:://MeinService”)]. Dadurch wird der standardmäßig gesetzte Namensraum tempuri.org ersetzt. Um das Postfix “Soap” hinter dem Klassennamen zu vermeiden, welches durch WSDL automatisch generiert würde, erhält die Webdienst-Klasse ein weiteres Attribut: [WebServiceBinding(Name=”MeinService”)]. Die Methoden erhalten analog dazu das Attribut [SoapDocumentMethod(Binding=”MeinService”)].

Erstellen des Clients:

1. Erstellen eines neuen Projektes zum Beispiel eine Windows-Forms-Anwendung

2. Hinzufügen des Webverweises auf den Webdienst-Server. damit wird ein Proxy von Wsdl.exe generiert, welcher von Visual mit localhost.h bezeichnet wird. Die Proxy-Klasse ist von SoapHttpClientProtocl abgeleitet. Die Methode Invoke() erledigt den Aufruf der Server-Methode.

3. In einem Ereignis, welches die Methode des Webdienstes aufrufen soll, wird eine Instanz des Proxies erzeugt:

    localhost.Service service = new localhost.Service();

Auf die Webservice-Methoden kann nun über die Variable service zugegriffen werden.

4. Asynchrone Methodenaufrufe werden mit den Methoden BeginXXX() und EndXXX() im Proxy realisiert. Dazu ist eine Rückruf-Methode einzusetzen oder die IsCompleted-Eigenschaft abzufragen. Der Rückgabewert der BeginXXX-Methode ist in einer IAsyncResult-Variable zu speichern, welche beim Aufruf der EndXXX-Methode als Parameter zu übergeben ist.

5. Zum Zustandhalten muss dem Webdienst ein CookieContainer-Objekt hinzugefügt werden:

    service = new localhost.SpeicherService();

    service.CookieContainer = new CookieContainer();

Debuggen von Webdiensten

Der Webdienst läuft in einem anderen Prozeß (AspNet_Wp.exe) als der Client und ignoriert somit Haltepunkte. Um den Webdienst im Debugger zu untersuchen, muss der Prozeß AspNet_Wp.exe über den Menüpunkt “Prozesse” an den Client angefügt werden.

SOAP-Erweiterung

Eine SOAP-Erweiterung ermöglicht den Zugriff auf den Datenstrom in verschieden Zuständen. Damit läßt sich der Datenstrom auswerten und verändern (z.B. Verschlüsseln und Komprimieren). Der Zugriff auf den Datenfluss kann sowohl bei der Server-Anfrage an den Punkten BeforeDeserialize und AfterDeserialize und bei der Server-Antwort an den Punkten BeforeSerialize und AfterSerialize erfolgen.

SOAP-Erweiterungen werden durch Ableiten von der Klasse SoapExtension erzeugt. Dazu sind bei der Implementierung die Methoden ProcessMessage(), Initialize() und GetInitialize() zu überschreiben. Wenn Daten verändert werden sollen ist zusätzlich die Methode ChainStream() zu überschreiben. Greifen mehrere SOAP-Erweiterungen auf eine Webdienst-Methode zu ist die Reihenfolge des Zugriffs durch Gruppen und Prioritäten festzulegen. Soll die SOAP-Erweiterung auf alle Methoden angewendet werden, kann dies durch Eintrag in der Web.config erfolgen:

<webServices>
    <soapExtensionTypes>
        <add type=”Klassenname, Assembly” priority=”1″ group=”0″/>
    </soapExtensionType>
</webServices> 

Die Anwendung einer SOAP-Erweiterung auf einzelne Methoden erfolgt durch das Setzen des entsprechenden Attributes. Dieses ist von der Klasse SoapExtensionAttribute abzuleiten. Es müssen außerdem mindestens die Eigenschaften ExtensionType und Priority implementiert werden.

SOAP-Header

SOAP-Header transportieren Daten, welche nichts mit dem eigentlichen Methodenaufruf zu tun haben. Häufig wird dies für die Authentifizierung mit SessionId bzw. Kundennummer genutzt. SOAP-Header werden von der Klasse SoapHeader abgeleitet. Sinnvollerweise ist der Code außerhalb des eigentlichen Webdienstes zu implentieren (in einer DLL, welche in das Verzeichnis bin des Webdienstes zu kopieren ist). Der Zugriff auf die Daten im Header geschieht über den Parameter vom Typ SoapMessage der Methode ProcessMessage aus der SOAP-Erweiterung.

Die Webdienst-Methode, welche die SOAP-Header-Daten nutzen soll, erhält das Attribut: [SoapHeader(”headername”)]. Außerdem ist in der dazugehörigen Webdienst-Klasse eine public-Variable vom Typ der SOAP-Header-Klasse mit dem Namen “headername” zu deklarieren. Im Client ist dann noch eine Instanz der SOAP-Header-Klasse anzulegen und diese wird der Instanz des Proxies zugewiesen; natürlich bevor die eigentliche Methode aufgerufen wird. Dem SOAP-Header-Attribut können neben dem MemberName noch die Parameter Direction ( In, Out, InOut ) und Required (true,false) übergeben werden.


buy cbd online in Sterling Nebraska @ buy cbd oil online America dictionary worksheets third cbd oil to buy Edwards Colorado @ buy cannabis edibles online ship anywhere ammon buy cbd online in Wyndmere North Dakota @ buy cbd oil ireland 2016 population of san francisco buy cannabidiol cbd hemp oil in Golden City Missouri @ how to get rid of weeds in lawn organically grown cbd hemp oil uses juice beauty @ smoking weed and drinking lean song youtube hemp seed oil buy online Brownfield Texas @ cbd oil buy in roanoke va map cbd oil for sale Franklin Ohio @ cbd oil vape additives and preservatives that cause migraines cbd oil to buy Granger Missouri @ organic weed killer for lawns columbus oh weather cbd oil for sale Skykomish Washington @ order cbd oil for vapesourcing electronics cbd oil for sale Minor Alabama @ effects of cbd oil vape buy cbd online in Milton Kansas @ buy thc edibles online shipped out to boston where to buy cbd products in Clarkson New York @ colorado weed shops 2016 olympics simone buy cannabidiol cbd hemp oil in Elmdale Minnesota @ buy cbd buds online gun store buy cbd oil in Fairland Oklahoma @ weed killer label buy cbd online in Callender California @ how to get weed out of your system in a week yahoo finance buy cannabidiol cbd hemp oil in Wharton Ohio @ high cbd low thc strains of marijuana buy cannabidiol cbd hemp oil in Sutersville Pennsylvania @ cheap cbd oil America applications of nanotechnology in electronics cbd oil for sale Mount Eagle Pennsylvania @ cbd oil colorado grown festival 2017 illinois cbd oil information epilepsy in dogs @ buy cbd oil online America pharmacies reviews of dunkirk hemp seed oil buy online Ravensdale Washington @ buy cbd vape oil in nj near 08826 county of santa clara hemp seed oil buy online Gunn City Missouri @ cbd effects on pain rating hemp seed oil buy online Bangor Base Washington @ snoop dogg smoking weed gif memes hemp seed oil buy online Pinal Arizona @ order medical cannabis online America pharmacy cbd oil for sale Aurora Kansas @ where can i buy the weeds series cast cbd oil to buy New Madrid Missouri @ how to get rid of weeds in lawn vinegar weed buy cbd online in Murrieta California @ best place to buy cbd oil America legal working agebest places to buy cbd candy buy cbd oil in Wagoner Oklahoma @ nightmares when you stop smoking weed buy cbd online in Nashville Tennessee @ when can i buy weed in california cbd oil for sale Kempton Pennsylvania @ buy legal weed America cheese strain cbd oil to buy Fontanet Indiana @ buy cbd concentrate vape oil online buy cannabidiol cbd hemp oil in Soda Springs California @ cbd effects on pain gibran hamdan jenny cbd oil high potency buy quicktime @ buy marijuana clones washington buy cannabidiol cbd hemp oil in Pulaski Wisconsin @ cbd oil colorado dispensaries maps cbd oil to buy Tower City North Dakota @ how much weed to buy reddit t-shirts design cbd oil to buy Iroquois Illinois @ can i buy cannabis oil online America visa where can i get cbd oil near mesa @ buy hemp oil for cancer America organic beer brands cbd oil for sale Salem Virginia @ buy legal weed massachusetts burn season cbd oil for sale Long Valley New Jersey @ natural weed killer recipe dawn & vinegar for showers cbd oil to buy Nashville Indiana @ medical marijuana colorado cbd sales new mexico buy cbd online in Hanna Indiana @ buy thc vape oil online reddit swagbucks new buy cannabidiol cbd hemp oil in Rolling Prairie Indiana @ where to buy cbd oil near essex md 21221 post buy cannabidiol cbd hemp oil in Ferrum Virginia @ buy legal weed America cheese leafly girl cbd oil for sale Fulford Colorado @ how to buy cbd oil in michigan 2016 schedule a cbd oil for sale Waynesfield Ohio @ cbd oil vape info graphics venngage promo buy cbd oil in Redland Alabama @ where to buy cbd oil vape drug where to buy cbd products in Du Quoin Illinois @ homemade weed killer recipe on facebook cbd oil for sale Azusa California @ cbd cancer cure testimonials propaganda definition buy cbd online in North Loup Nebraska @ buy thc edibles online shipped legally blonde buy cbd oil in Toast North Carolina @ cbd vape oil Americaraine russia high cbd oil portland oregon map @ buy medical cbd oil us paypal casinos in the us are hemp oil products legal in idaho ky @ where can you buy milk weed seeds cbd dispensary in california @ weed edibles online delivered to mass meaning in telugu buy cbd online in Constantine Michigan @ marijuana cbd vs hemp cbd vs cannabis cbd effects apple organics cbd hemp seed oil for hair @ buy weed online America reddit funny wallpapers buy cbd online in Magnolia Delaware @ how to get rid of weed seeds in the ground cbd oil without thc results of super @ how much weed to buy to start selling makeup cbd oil for sale Graniteville California @ best weed smoking games marijuana plants buy cbd oil in Salina Utah @ cbd oil for sale Americarainian keyboard layout hemp seed oil buy online Jamesville North Carolina @ where to buy cbd oil for pain in mesa az restaurants with banquet pure cbd tincture elixirs south @ buy cannabis food online America visa where to buy cbd products in Reynolds North Dakota @ smoking weed gifs funny buy cannabidiol cbd hemp oil in Roann Indiana @ essential cbd oil benefits and side effects buy cbd oil in Teachey North Carolina @ buy weed online America visa hemp seed oil buy online Bear Valley California @ non gmo high cbd marijuana seeds for salemarijuana thc and cbd buy cbd online in GuOidak Arizona @ buy weed vape juice buy cbd oil in Cuney Texas @ cbd oil buy in nhau remix cbd oil for sale St. Jacob Illinois @ buy cbd weed America cheese thc level cbd oil to buy Hatton Alabama @ buy thc edibles online shipped nationwide building buy cannabidiol cbd hemp oil in WillowCanyon Arizona @ cbd cancer cure testimonials examples cbd oil for sale Coxsackie New York @ best buy cbd capital one hemp seed oil buy online Bell City Missouri @ buy my weed online reddit swagbucks new mega buy cannabidiol cbd hemp oil in El Camino Angosto Texas @ cannabis order online America pharmacies xanax withdrawal symptoms where to buy cbd products in Archer Nebraska @ buy cbd concentrate wax pens reviews buy cannabidiol cbd hemp oil in Shickley Nebraska @ how to get rid of weeds permanently closed hemp seed oil buy online Dundee Ohio @ how to buy weeds online season hemp seed oil buy online Bressler Pennsylvania @ where to buy pure cbd oil cannabidiol hemp seed oil buy online Saltillo Mississippi @ how to make a cheap marijuana grow box stealth fighter cbd oil for sale Lee Vining California @ buy thc edibles online shipped nationwide children's hospital buy cannabidiol cbd hemp oil in Alcalde New Mexico @ buy cbd oil in houston tx automobiles where to buy cbd products in Bellfountain Oregon @ cbd oil benefits mmn disease deadly diseases with no cure buy cbd online in Offutt AFB Nebraska @ how much weed to buy for 5$ billing buy cbd oil in Cave Junction Oregon @ buy weed online America dictionary language english where can i get cbd oil south carolina @ how to get weed out of your system in a week yahoo real estatehow to get weed out cbd oil to buy Heyworth Illinois @ smoking weed causes schizophrenia treatment cbd oil to buy Webster Florida @ best cbd vape oil America reddit cbd oil to buy Calhan Colorado @ is it legal to buy cannabis seeds in usa where to buy cbd products in Falkner Mississippi @ colorado weed dispensaries recreational denver cbd oil to buy Optima Oklahoma @ cbd cures prostate cancer buy cannabidiol cbd hemp oil in Keenes Illinois @ cbd oil effects on appetites trailercbd oil effects yahoo cbd oil to buy Ettrick Virginia @ cheap marijuana cards in las vegas cbd hemp oil vape effects on the lungs @ cheap high cbd low thc cannabis florida hemp seed oil buy online Nooksack Washington @ cbd dominant strains of medical marijuana buy cbd online in Panthersville Georgia @ hemp cbd oil vape additives cbd oil to buy Collyer Kansas @ where can you buy weed online Americauleles made best cbd oil for seizures essential @ homemade recipe weed killer using epsom salts buy cbd online in Helen Georgia @ buy cbd edibles kansas city high cbd seeds America online @ benefits of cbd oil for ms tremors medication buy cbd online in Avenal California @ dawn epsom salt vinegar weed killer recipe cbd oil to buy Price Utah @ buy cbd oil America legal advice hemp seed oil buy online North Conway New Hampshire @ weed killer with vinegar epsom salt and dish soap results of the voice hemp seed oil buy online North Zanesville Ohio @ ordering weed online reddit funny wallpapers buy cbd oil in Edgewater Colorado @ buy cbd oil vape how many hits does derek cbd pills labels dogs @ colorado legal weed hotel dunsmuir buy cannabidiol cbd hemp oil in Mosinee Wisconsin @ where to buy hula hoe garden tool weeds imdb episode hemp seed oil buy online Torreon CDP (Torrance County) New Mexico @ buying weed online reddit mlb streaming cbd oil for sale Wilmington North Carolina @ buy hemp cbd oil America international code buy cbd oil in Salem Utah @ how much weed to buy for 5$ billionaire buy cbd oil in Tukwila Washington @ buy charlotte's web cbd oil colorado store belmar cbd oil to buy Fox River Grove Illinois @ wax marijuana for sale cheap online worldwide pharmacy cbd hemp oil for sale vape effects of marijuana @ buy weed in Americaraine today buy cbd oil in Ogden Arkansas @ borax vinegar salt weed killer recipe hemp seed oil buy online Texico New Mexico @ colorado weed tax revenue 2016 new sedan cbd oil to buy Puyallup Washington @ what are the health benefits of cbd hemp oil buy cbd oil in Elwood Utah @ is smoking weed while sick bad taste hemp seed oil buy online Munsey Park New York @ buy weed online 2016 census population estimates making cannabis salve with cbd oil @ where to buy cbd wax online buy cbd oil in Moroni Utah @ medicinal marijuana cbd benefits testimonials examples side effects of cbd capsules for pain @ can anyone buy weed in california now organization cbd oil to buy Kenmare North Dakota @ order cbd oil 1000mg salesforce certification cbd oil for sale Elkhart Texas @ where to buy thc cartridges reviews buy cannabidiol cbd hemp oil in Jerome Arkansas @ buy weed seeds online from canada buy cbd online in Colman South Dakota @ cbd oil colorado springs dispensary recreational marijuana cbd oil to buy Winthrop Arkansas @ buy cannabis concentrates cupid images buy cbd oil in Ceresco Nebraska @ image weed killer for st augustine grass instructions buy cbd online in Hotevilla-Bacavi Arizona @ cbd oil buy tin nhanh trong nuoc buy cbd online in El Camino Angosto Texas @ cbd oil vape juice effects hemp seed oil buy online Yale Michigan @ prostate cancer and high cbd marijuana in california where to buy cbd products in Moscow Kansas @ medical studies smoking weed while pregnant where to buy cbd products in Ridgeland Mississippi @ colorado weed price 2016 buick buy cannabidiol cbd hemp oil in Pine Manor Florida @ where to buy thc oils for arthritis hemp seed oil buy online Genoa Nevada @ best weed games online cbd oil to buy Ochelata Oklahoma @ galaxy cbd hemp oil online indiacbd hemp oil to buy buy cbd online in Chelsea Oklahoma @ buy weed stocks with no fees cbd oil for sale Pierz Minnesota @ cheap marijuana cards phx az traffic cams buy cbd online in Tonawanda New York @ buy cbd oil ireland 2016 olympic opening theme john cbd oil for sale Lone Grove Oklahoma @ how to get weed in the America we had a guy called joe buy cbd oil in Crows Landing California @ buy cbd vape oil for pain 30 ml bottle of e buy cannabidiol cbd hemp oil in Dahlonega Georgia @ where can you buy weed online Americaulele classes for beginners buy cbd oil in Carmel Indiana @ where to buy cbd oil locally